diff --git a/package-lock.json b/package-lock.json index 2ce5ab4c7..e358ce983 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,8 +19,8 @@ "@eslint/js": "^9.28.0", "@types/jest": "^29.5.14", "@types/semver": "^7.7.0", - "@typescript-eslint/eslint-plugin": "^8.33.1", - "@typescript-eslint/parser": "^8.33.1", + "@typescript-eslint/eslint-plugin": "^8.34.0", + "@typescript-eslint/parser": "^8.34.0", "c8": "^10.1.3", "cross-env": "^7.0.3", "eslint": "^9.28.0", @@ -28,7 +28,7 @@ "esm-utils": "^4.4.2", "globals": "^16.2.0", "jest": "^29.7.0", - "jest-light-runner": "^0.7.8", + "jest-light-runner": "^0.7.9", "jest-snapshot-serializer-ansi": "^2.2.1", "jest-snapshot-serializer-raw": "^2.0.0", "jest-watch-typeahead": "^2.2.2", @@ -1992,9 +1992,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4802,9 +4802,9 @@ } }, "node_modules/jest-light-runner/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7206,10 +7206,11 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } diff --git a/package.json b/package.json index 36fa7e2fb..f530043a3 100644 --- a/package.json +++ b/package.json @@ -88,8 +88,8 @@ "@eslint/js": "^9.28.0", "@types/jest": "^29.5.14", "@types/semver": "^7.7.0", - "@typescript-eslint/eslint-plugin": "^8.33.1", - "@typescript-eslint/parser": "^8.33.1", + "@typescript-eslint/eslint-plugin": "^8.34.0", + "@typescript-eslint/parser": "^8.34.0", "c8": "^10.1.3", "cross-env": "^7.0.3", "eslint": "^9.28.0", @@ -97,7 +97,7 @@ "esm-utils": "^4.4.2", "globals": "^16.2.0", "jest": "^29.7.0", - "jest-light-runner": "^0.7.8", + "jest-light-runner": "^0.7.9", "jest-snapshot-serializer-ansi": "^2.2.1", "jest-snapshot-serializer-raw": "^2.0.0", "jest-watch-typeahead": "^2.2.2", diff --git a/src/binary-operator-printers/printers/create-binary-operation-printer.js b/src/binary-operator-printers/printers/create-binary-operation-printer.js index e89527756..e7b182967 100644 --- a/src/binary-operator-printers/printers/create-binary-operation-printer.js +++ b/src/binary-operator-printers/printers/create-binary-operation-printer.js @@ -3,8 +3,11 @@ import { assignment } from '../assignment.js'; const { group, line } = doc.builders; -const rightOperandPrinter = (node, path, print) => { - const right = [' ', node.operator, line, path.call(print, 'right')]; +const rightOperandPrinter = (node, path, print, options) => { + const right = + options.experimentalOperatorPosition === 'end' + ? [' ', node.operator, line, path.call(print, 'right')] + : [line, node.operator, ' ', path.call(print, 'right')]; // If it's a single binary operation, avoid having a small right // operand like - 1 on its own line @@ -23,6 +26,6 @@ export const createBinaryOperationPrinter = return groupIfNecessary([ path.call(print, 'left'), - indentIfNecessary(rightOperandPrinter(node, path, print)) + indentIfNecessary(rightOperandPrinter(node, path, print, options)) ]); }; diff --git a/src/options.ts b/src/options.ts index cf8a4e49c..6bcfd7377 100644 --- a/src/options.ts +++ b/src/options.ts @@ -48,6 +48,22 @@ const options: SupportOptions = { oppositeDescription: 'Default behavior of ternaries; keep question marks on the same line as the consequent.' }, + experimentalOperatorPosition: { + category: CATEGORY_JAVASCRIPT, + type: 'choice', + default: 'end', + description: 'Where to print operators when binary expressions wrap lines.', + choices: [ + { + value: 'start', + description: 'Print operators at the start of new lines.' + }, + { + value: 'end', + description: 'Print operators at the end of previous lines.' + } + ] + }, compiler: { category: CATEGORY_SOLIDITY, type: 'string', diff --git a/src/slang-printers/create-binary-operation-printer.ts b/src/slang-printers/create-binary-operation-printer.ts index 711729a4e..61a3dc1b0 100644 --- a/src/slang-printers/create-binary-operation-printer.ts +++ b/src/slang-printers/create-binary-operation-printer.ts @@ -15,13 +15,14 @@ const { group, line } = doc.builders; function rightOperandPrint( node: BinaryOperation, path: AstPath, - print: PrintFunction + print: PrintFunction, + options: ParserOptions ): Doc { - const rightOperand = [ - ` ${node.operator}`, - line, - path.call(print, 'rightOperand') - ]; + const rightOperand = + options.experimentalOperatorPosition === 'end' + ? [` ${node.operator}`, line, path.call(print, 'rightOperand')] + : [line, `${node.operator} `, path.call(print, 'rightOperand')]; + // If it's a single binary operation, avoid having a small right // operand like - 1 on its own line const leftOperand = node.leftOperand.variant; @@ -58,6 +59,6 @@ export const createBinaryOperationPrinter = return groupRules([ path.call(print, 'leftOperand'), - indentRules(rightOperandPrint(node, path, print)) + indentRules(rightOperandPrint(node, path, print, options)) ]); }; diff --git a/tests/format/BinaryOperators/__snapshots__/format.test.js.snap b/tests/format/BinaryOperators/__snapshots__/format.test.js.snap index 2fa95cf23..463f78323 100644 --- a/tests/format/BinaryOperators/__snapshots__/format.test.js.snap +++ b/tests/format/BinaryOperators/__snapshots__/format.test.js.snap @@ -1,7 +1,8 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing -exports[`BinaryOperators.sol format 1`] = ` +exports[`BinaryOperators.sol - {"experimentalOperatorPosition":"start"} format 1`] = ` ====================================options===================================== +experimentalOperatorPosition: "start" parsers: ["slang"] printWidth: 80 | printWidth @@ -204,63 +205,63 @@ contract ArithmeticOperators { a % b; a ** b; (a % b) + c - (d * e) / f ** g; - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA - - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA * - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA / - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA % - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB - - (((c * d) / e) % f ** g); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + * veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + / veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + % veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB + - (((c * d) / e) % f ** g); a = - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; if ( - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB == - a() + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB + == a() ) {} if ( - a() == - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB + a() + == veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB ) {} for ( a = - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB; - a <= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + a + <= veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; a += - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB ) {} a( - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB ); return - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB ) + c; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) + - c * - veryVeryVeryVeryVeryLongFunctionCalledA( + ) + + c + * veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) - - d; + ) + - d; a = veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB @@ -287,68 +288,68 @@ contract ArithmeticOperators { function someFunction() { a ** b; a ** c * d ** e; - a ** c * - d ** e * - a ** c * - d ** e * - a ** c * - d ** e * - a ** c * - d ** e * - a ** c * - d ** e; - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA * - veryVeryVeryVeryVeryLongVariableCalledB ** c; - c ** veryVeryVeryVeryVeryLongVariableCalledA * - veryVeryVeryVeryVeryLongVariableCalledB; + a ** c + * d ** e + * a ** c + * d ** e + * a ** c + * d ** e + * a ** c + * d ** e + * a ** c + * d ** e; + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + * veryVeryVeryVeryVeryLongVariableCalledB ** c; + c ** veryVeryVeryVeryVeryLongVariableCalledA + * veryVeryVeryVeryVeryLongVariableCalledB; a = - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB; a = - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB * - c; + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB + * c; if ( - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB == - a() + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB + == a() ) {} if ( - a() == - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB + a() + == veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB ) {} for ( a = - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB; - a <= - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB; + a + <= veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB; a += - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB ) {} a( - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB ); return - veryVeryVeryVeryVeryLongVariableCalledA ** - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + ** veryVeryVeryVeryVeryLongVariableCalledB; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB ) ** c; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) ** - c * - veryVeryVeryVeryVeryLongFunctionCalledA( + ) + ** c + * veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) ** - d; + ) + ** d; a = veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB @@ -375,30 +376,30 @@ contract ShiftOperators { function someFunction() { a << b; a >> b; - veryVeryVeryVeryVeryLongVariableCalledA << - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA >> - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + << veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + >> veryVeryVeryVeryVeryLongVariableCalledB; a = - veryVeryVeryVeryVeryLongVariableCalledA << - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + << veryVeryVeryVeryVeryLongVariableCalledB; if ( - veryVeryVeryVeryVeryLongVariableCalledA << - veryVeryVeryVeryVeryLongVariableCalledB == - a() + veryVeryVeryVeryVeryLongVariableCalledA + << veryVeryVeryVeryVeryLongVariableCalledB + == a() ) {} if ( - a() == - veryVeryVeryVeryVeryLongVariableCalledA << - veryVeryVeryVeryVeryLongVariableCalledB + a() + == veryVeryVeryVeryVeryLongVariableCalledA + << veryVeryVeryVeryVeryLongVariableCalledB ) {} a( - veryVeryVeryVeryVeryLongVariableCalledA << - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + << veryVeryVeryVeryVeryLongVariableCalledB ); return - veryVeryVeryVeryVeryLongVariableCalledA << - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + << veryVeryVeryVeryVeryLongVariableCalledB; } } @@ -408,32 +409,32 @@ contract BitOperators { a & b; a | b; a ^ b; - veryVeryVeryVeryVeryLongVariableCalledA & - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA | - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA ^ - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + & veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + | veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + ^ veryVeryVeryVeryVeryLongVariableCalledB; a = - veryVeryVeryVeryVeryLongVariableCalledA & - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + & veryVeryVeryVeryVeryLongVariableCalledB; if ( - veryVeryVeryVeryVeryLongVariableCalledA & - veryVeryVeryVeryVeryLongVariableCalledB == - a() + veryVeryVeryVeryVeryLongVariableCalledA + & veryVeryVeryVeryVeryLongVariableCalledB + == a() ) {} if ( - a() == - veryVeryVeryVeryVeryLongVariableCalledA & - veryVeryVeryVeryVeryLongVariableCalledB + a() + == veryVeryVeryVeryVeryLongVariableCalledA + & veryVeryVeryVeryVeryLongVariableCalledB ) {} a( - veryVeryVeryVeryVeryLongVariableCalledA & - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + & veryVeryVeryVeryVeryLongVariableCalledB ); return - veryVeryVeryVeryVeryLongVariableCalledA & - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + & veryVeryVeryVeryVeryLongVariableCalledB; } } @@ -446,64 +447,64 @@ contract ComparisonOperators { a >= b; a == b; a != b; - veryVeryVeryVeryVeryLongVariableCalledA < - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA > - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA <= - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA >= - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA == - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA != - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + < veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + > veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + <= veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + >= veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + == veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + != veryVeryVeryVeryVeryLongVariableCalledB; a = - veryVeryVeryVeryVeryLongVariableCalledA < - veryVeryVeryVeryVeryLongVariableCalledB; - if ( - veryVeryVeryVeryVeryLongVariableCalledA > - veryVeryVeryVeryVeryLongFunctionB() - ) {} + veryVeryVeryVeryVeryLongVariableCalledA + < veryVeryVeryVeryVeryLongVariableCalledB; if ( - veryVeryVeryVeryVeryLongFunctionB() <= veryVeryVeryVeryVeryLongVariableCalledA + > veryVeryVeryVeryVeryLongFunctionB() ) {} - while ( - veryVeryVeryVeryVeryLongVariableCalledA != + if ( veryVeryVeryVeryVeryLongFunctionB() + <= veryVeryVeryVeryVeryLongVariableCalledA ) {} while ( - veryVeryVeryVeryVeryLongFunctionB() == veryVeryVeryVeryVeryLongVariableCalledA + != veryVeryVeryVeryVeryLongFunctionB() + ) {} + while ( + veryVeryVeryVeryVeryLongFunctionB() + == veryVeryVeryVeryVeryLongVariableCalledA ) {} for ( a = veryVeryVeryVeryVeryLongVariableCalledA; - veryVeryVeryVeryVeryLongVariableCalledB >= - veryVeryVeryVeryVeryLongVariableCalledA; - a += veryVeryVeryVeryVeryLongVariableCalledA || - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledB + >= veryVeryVeryVeryVeryLongVariableCalledA; + a += veryVeryVeryVeryVeryLongVariableCalledA + || veryVeryVeryVeryVeryLongVariableCalledB ? 1 : 2 ) {} a( - veryVeryVeryVeryVeryLongVariableCalledA == - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + == veryVeryVeryVeryVeryLongVariableCalledB ); return - veryVeryVeryVeryVeryLongVariableCalledA == - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + == veryVeryVeryVeryVeryLongVariableCalledB; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB ) == c; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) < - c || - veryVeryVeryVeryVeryLongFunctionCalledA( + ) + < c + || veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) > - d; + ) + > d; a = veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB @@ -540,38 +541,38 @@ contract AssignmentOperators { a /= veryVeryVeryVeryVeryLongVariableCalledA; a %= veryVeryVeryVeryVeryLongVariableCalledA; a = - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a |= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a ^= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a &= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a <<= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a >>= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a += - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a -= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a *= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a /= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); a %= - veryVeryVeryVeryVeryLongVariableCalledA + - veryVeryVeryVeryVeryLongFunctionCalledB(c); + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); } } @@ -581,82 +582,82 @@ contract LogicalOperators { a && b; a || b; a || (b && c) || (d && e); - veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA || - veryVeryVeryVeryVeryLongVariableCalledB; - veryVeryVeryVeryVeryLongVariableCalledA || - (veryVeryVeryVeryVeryLongVariableCalledB && c) || - (d && e); + veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + || veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + || (veryVeryVeryVeryVeryLongVariableCalledB && c) + || (d && e); a = - veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB; if ( - veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB == a() + veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB == a() ) {} if ( - a() == veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB + a() == veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB ) {} if ( - veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB ) {} if ( - (veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB) || c + (veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB) || c ) {} if ( - veryVeryVeryVeryVeryLongVariableCalledA || - (veryVeryVeryVeryVeryLongVariableCalledB && c) + veryVeryVeryVeryVeryLongVariableCalledA + || (veryVeryVeryVeryVeryLongVariableCalledB && c) ) {} while ( - veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB == a() + veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB == a() ) {} while ( - a() == veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB + a() == veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB ) {} while ( - veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB ) {} while ( - (veryVeryVeryVeryVeryLongVariableCalledA && - veryVeryVeryVeryVeryLongVariableCalledB) || c + (veryVeryVeryVeryVeryLongVariableCalledA + && veryVeryVeryVeryVeryLongVariableCalledB) || c ) {} while ( - veryVeryVeryVeryVeryLongVariableCalledA || - (veryVeryVeryVeryVeryLongVariableCalledB && c) + veryVeryVeryVeryVeryLongVariableCalledA + || (veryVeryVeryVeryVeryLongVariableCalledB && c) ) {} for ( a = veryVeryVeryVeryVeryLongVariableCalledA; a <= veryVeryVeryVeryVeryLongVariableCalledA; - a += veryVeryVeryVeryVeryLongVariableCalledA || - veryVeryVeryVeryVeryLongVariableCalledB + a += veryVeryVeryVeryVeryLongVariableCalledA + || veryVeryVeryVeryVeryLongVariableCalledB ? 1 : 2 ) {} a( - veryVeryVeryVeryVeryLongVariableCalledA || - veryVeryVeryVeryVeryLongVariableCalledB + veryVeryVeryVeryVeryLongVariableCalledA + || veryVeryVeryVeryVeryLongVariableCalledB ); return - veryVeryVeryVeryVeryLongVariableCalledA || - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + || veryVeryVeryVeryVeryLongVariableCalledB; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB ) || c; veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - ) || - (c && - veryVeryVeryVeryVeryLongFunctionCalledA( + ) + || (c + && veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB - )) || - d; + )) + || d; a = veryVeryVeryVeryVeryLongFunctionCalledA( veryVeryVeryVeryVeryLongVariableCalledB @@ -681,6 +682,963 @@ contract LogicalOperators { ================================================================================ `; +exports[`BinaryOperators.sol format 1`] = ` +====================================options===================================== +parsers: ["slang"] +printWidth: 80 + | printWidth +=====================================input====================================== +contract ArithmeticOperators { + // ['+', '-', '*', '/', '%'] + function someFunction() { + a + b; + a - b; + a * b; + a / b; + a % b; + a ** b; + a % b + c - d * e / f ** g; + veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA - veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA * veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA / veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA % veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB - c * d / e % f ** g; + a = veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB; + if (veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB == a()) {} + if (a() == veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB) {} + for (a = veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB; a <= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB; a += veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB) {} + a(veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB); + return veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) + c; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) + c * veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) - d; + a = veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) + c; + if (veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) + c) {} + a(veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) + c); + return veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) + c; + } +} + + +contract ArithmeticOperators { + // ['**'] + function someFunction() { + a ** b; + a ** c * d ** e; + a ** c * d ** e * a ** c * d ** e * a ** c * d ** e * a ** c * d ** e * a ** c * d ** e; + veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA * veryVeryVeryVeryVeryLongVariableCalledB ** c; + c ** veryVeryVeryVeryVeryLongVariableCalledA * veryVeryVeryVeryVeryLongVariableCalledB; + a = veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB; + a = veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB * c; + if (veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB == a()) {} + if (a() == veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB) {} + for (a = veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB; a <= veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB; a += veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB) {} + a(veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB); + return veryVeryVeryVeryVeryLongVariableCalledA ** veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** c; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** c * veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** d; + a = veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** c; + if (veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** c) {} + a(veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** c); + return veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) ** c; + } +} + + +contract ShiftOperators { + // ['<<', '>>'] + function someFunction() { + a << b; + a >> b; + veryVeryVeryVeryVeryLongVariableCalledA << veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA >> veryVeryVeryVeryVeryLongVariableCalledB; + a = veryVeryVeryVeryVeryLongVariableCalledA << veryVeryVeryVeryVeryLongVariableCalledB; + if (veryVeryVeryVeryVeryLongVariableCalledA << veryVeryVeryVeryVeryLongVariableCalledB == a()) {} + if (a() == veryVeryVeryVeryVeryLongVariableCalledA << veryVeryVeryVeryVeryLongVariableCalledB) {} + a(veryVeryVeryVeryVeryLongVariableCalledA << veryVeryVeryVeryVeryLongVariableCalledB); + return veryVeryVeryVeryVeryLongVariableCalledA << veryVeryVeryVeryVeryLongVariableCalledB; + } +} + + +contract BitOperators { + // ['&', '|', '^'] + function someFunction() { + a & b; + a | b; + a ^ b; + veryVeryVeryVeryVeryLongVariableCalledA & veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA | veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA ^ veryVeryVeryVeryVeryLongVariableCalledB; + a = veryVeryVeryVeryVeryLongVariableCalledA & veryVeryVeryVeryVeryLongVariableCalledB; + if (veryVeryVeryVeryVeryLongVariableCalledA & veryVeryVeryVeryVeryLongVariableCalledB == a()) {} + if (a() == veryVeryVeryVeryVeryLongVariableCalledA & veryVeryVeryVeryVeryLongVariableCalledB) {} + a(veryVeryVeryVeryVeryLongVariableCalledA & veryVeryVeryVeryVeryLongVariableCalledB); + return veryVeryVeryVeryVeryLongVariableCalledA & veryVeryVeryVeryVeryLongVariableCalledB; + } +} + + +contract ComparisonOperators { + // ['<', '>', '<=', '>=', '==', '!='] + function someFunction() { + a < b; + a > b; + a <= b; + a >= b; + a == b; + a != b; + veryVeryVeryVeryVeryLongVariableCalledA < veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA > veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA <= veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA >= veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA == veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA != veryVeryVeryVeryVeryLongVariableCalledB; + a = veryVeryVeryVeryVeryLongVariableCalledA < veryVeryVeryVeryVeryLongVariableCalledB; + if (veryVeryVeryVeryVeryLongVariableCalledA > veryVeryVeryVeryVeryLongFunctionB()) {} + if (veryVeryVeryVeryVeryLongFunctionB() <= veryVeryVeryVeryVeryLongVariableCalledA) {} + while (veryVeryVeryVeryVeryLongVariableCalledA != veryVeryVeryVeryVeryLongFunctionB()) {} + while (veryVeryVeryVeryVeryLongFunctionB() == veryVeryVeryVeryVeryLongVariableCalledA) {} + for (a = veryVeryVeryVeryVeryLongVariableCalledA; veryVeryVeryVeryVeryLongVariableCalledB >= veryVeryVeryVeryVeryLongVariableCalledA; a += veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB ? 1:2) {} + a(veryVeryVeryVeryVeryLongVariableCalledA == veryVeryVeryVeryVeryLongVariableCalledB); + return veryVeryVeryVeryVeryLongVariableCalledA == veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) == c; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) < c || veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) > d; + a = veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) == c; + if (veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) == c) {} + a(veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) == c); + return veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) == c; + } +} + + +contract AssignmentOperators { + // ['=', '|=', '^=', '&=', '<<=', '>>=', '+=', '-=', '*=', '/=', '%='] + function someFunction() { + a = veryVeryVeryVeryVeryLongVariableCalledA; + a |= veryVeryVeryVeryVeryLongVariableCalledA; + a ^= veryVeryVeryVeryVeryLongVariableCalledA; + a &= veryVeryVeryVeryVeryLongVariableCalledA; + a <<= veryVeryVeryVeryVeryLongVariableCalledA; + a >>= veryVeryVeryVeryVeryLongVariableCalledA; + a += veryVeryVeryVeryVeryLongVariableCalledA; + a -= veryVeryVeryVeryVeryLongVariableCalledA; + a *= veryVeryVeryVeryVeryLongVariableCalledA; + a /= veryVeryVeryVeryVeryLongVariableCalledA; + a %= veryVeryVeryVeryVeryLongVariableCalledA; + a = veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a |= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a ^= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a &= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a <<= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a >>= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a += veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a -= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a *= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a /= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a %= veryVeryVeryVeryVeryLongVariableCalledA + veryVeryVeryVeryVeryLongFunctionCalledB(c); + } +} + + +contract LogicalOperators { + // ['&&', '||'] + function someFunction() { + a && b; + a || b; + a || b && c || d && e; + veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB && c || d && e; + a = veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB; + if (veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB == a()) {} + if (a() == veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB) {} + if (veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB) {} + if (veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB || c) {} + if (veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB && c) {} + while (veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB == a()) {} + while (a() == veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB) {} + while (veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB) {} + while (veryVeryVeryVeryVeryLongVariableCalledA && veryVeryVeryVeryVeryLongVariableCalledB || c) {} + while (veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB && c) {} + for (a = veryVeryVeryVeryVeryLongVariableCalledA; a <= veryVeryVeryVeryVeryLongVariableCalledA; a += veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB ? 1:2) {} + a(veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB); + return veryVeryVeryVeryVeryLongVariableCalledA || veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || c; + veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || c && veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || d; + a = veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || c; + if (veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || c) {} + a(veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || c); + return veryVeryVeryVeryVeryLongFunctionCalledA(veryVeryVeryVeryVeryLongVariableCalledB) || c; + } +} + +=====================================output===================================== +contract ArithmeticOperators { + // ['+', '-', '*', '/', '%'] + function someFunction() { + a + b; + a - b; + a * b; + a / b; + a % b; + a ** b; + (a % b) + c - (d * e) / f ** g; + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA - + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA * + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA / + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA % + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB - + (((c * d) / e) % f ** g); + a = + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + if ( + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB == + a() + ) {} + if ( + a() == + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + for ( + a = + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + a <= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + a += + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + a( + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB + ); + return + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) + c; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) + + c * + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) - + d; + a = + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) + c; + if ( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) + c + ) {} + a( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) + c + ); + return + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) + c; + } +} + +contract ArithmeticOperators { + // ['**'] + function someFunction() { + a ** b; + a ** c * d ** e; + a ** c * + d ** e * + a ** c * + d ** e * + a ** c * + d ** e * + a ** c * + d ** e * + a ** c * + d ** e; + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA * + veryVeryVeryVeryVeryLongVariableCalledB ** c; + c ** veryVeryVeryVeryVeryLongVariableCalledA * + veryVeryVeryVeryVeryLongVariableCalledB; + a = + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB; + a = + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB * + c; + if ( + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB == + a() + ) {} + if ( + a() == + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + for ( + a = + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB; + a <= + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB; + a += + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + a( + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB + ); + return + veryVeryVeryVeryVeryLongVariableCalledA ** + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** c; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** + c * + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** + d; + a = + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** c; + if ( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** c + ) {} + a( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** c + ); + return + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) ** c; + } +} + +contract ShiftOperators { + // ['<<', '>>'] + function someFunction() { + a << b; + a >> b; + veryVeryVeryVeryVeryLongVariableCalledA << + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA >> + veryVeryVeryVeryVeryLongVariableCalledB; + a = + veryVeryVeryVeryVeryLongVariableCalledA << + veryVeryVeryVeryVeryLongVariableCalledB; + if ( + veryVeryVeryVeryVeryLongVariableCalledA << + veryVeryVeryVeryVeryLongVariableCalledB == + a() + ) {} + if ( + a() == + veryVeryVeryVeryVeryLongVariableCalledA << + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + a( + veryVeryVeryVeryVeryLongVariableCalledA << + veryVeryVeryVeryVeryLongVariableCalledB + ); + return + veryVeryVeryVeryVeryLongVariableCalledA << + veryVeryVeryVeryVeryLongVariableCalledB; + } +} + +contract BitOperators { + // ['&', '|', '^'] + function someFunction() { + a & b; + a | b; + a ^ b; + veryVeryVeryVeryVeryLongVariableCalledA & + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA | + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA ^ + veryVeryVeryVeryVeryLongVariableCalledB; + a = + veryVeryVeryVeryVeryLongVariableCalledA & + veryVeryVeryVeryVeryLongVariableCalledB; + if ( + veryVeryVeryVeryVeryLongVariableCalledA & + veryVeryVeryVeryVeryLongVariableCalledB == + a() + ) {} + if ( + a() == + veryVeryVeryVeryVeryLongVariableCalledA & + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + a( + veryVeryVeryVeryVeryLongVariableCalledA & + veryVeryVeryVeryVeryLongVariableCalledB + ); + return + veryVeryVeryVeryVeryLongVariableCalledA & + veryVeryVeryVeryVeryLongVariableCalledB; + } +} + +contract ComparisonOperators { + // ['<', '>', '<=', '>=', '==', '!='] + function someFunction() { + a < b; + a > b; + a <= b; + a >= b; + a == b; + a != b; + veryVeryVeryVeryVeryLongVariableCalledA < + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA > + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA <= + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA >= + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA == + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA != + veryVeryVeryVeryVeryLongVariableCalledB; + a = + veryVeryVeryVeryVeryLongVariableCalledA < + veryVeryVeryVeryVeryLongVariableCalledB; + if ( + veryVeryVeryVeryVeryLongVariableCalledA > + veryVeryVeryVeryVeryLongFunctionB() + ) {} + if ( + veryVeryVeryVeryVeryLongFunctionB() <= + veryVeryVeryVeryVeryLongVariableCalledA + ) {} + while ( + veryVeryVeryVeryVeryLongVariableCalledA != + veryVeryVeryVeryVeryLongFunctionB() + ) {} + while ( + veryVeryVeryVeryVeryLongFunctionB() == + veryVeryVeryVeryVeryLongVariableCalledA + ) {} + for ( + a = veryVeryVeryVeryVeryLongVariableCalledA; + veryVeryVeryVeryVeryLongVariableCalledB >= + veryVeryVeryVeryVeryLongVariableCalledA; + a += veryVeryVeryVeryVeryLongVariableCalledA || + veryVeryVeryVeryVeryLongVariableCalledB + ? 1 + : 2 + ) {} + a( + veryVeryVeryVeryVeryLongVariableCalledA == + veryVeryVeryVeryVeryLongVariableCalledB + ); + return + veryVeryVeryVeryVeryLongVariableCalledA == + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) == c; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) < + c || + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) > + d; + a = + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) == c; + if ( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) == c + ) {} + a( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) == c + ); + return + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) == c; + } +} + +contract AssignmentOperators { + // ['=', '|=', '^=', '&=', '<<=', '>>=', '+=', '-=', '*=', '/=', '%='] + function someFunction() { + a = veryVeryVeryVeryVeryLongVariableCalledA; + a |= veryVeryVeryVeryVeryLongVariableCalledA; + a ^= veryVeryVeryVeryVeryLongVariableCalledA; + a &= veryVeryVeryVeryVeryLongVariableCalledA; + a <<= veryVeryVeryVeryVeryLongVariableCalledA; + a >>= veryVeryVeryVeryVeryLongVariableCalledA; + a += veryVeryVeryVeryVeryLongVariableCalledA; + a -= veryVeryVeryVeryVeryLongVariableCalledA; + a *= veryVeryVeryVeryVeryLongVariableCalledA; + a /= veryVeryVeryVeryVeryLongVariableCalledA; + a %= veryVeryVeryVeryVeryLongVariableCalledA; + a = + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a |= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a ^= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a &= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a <<= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a >>= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a += + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a -= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a *= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a /= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + a %= + veryVeryVeryVeryVeryLongVariableCalledA + + veryVeryVeryVeryVeryLongFunctionCalledB(c); + } +} + +contract LogicalOperators { + // ['&&', '||'] + function someFunction() { + a && b; + a || b; + a || (b && c) || (d && e); + veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA || + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongVariableCalledA || + (veryVeryVeryVeryVeryLongVariableCalledB && c) || + (d && e); + a = + veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB; + if ( + veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB == a() + ) {} + if ( + a() == veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + if ( + veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + if ( + (veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB) || c + ) {} + if ( + veryVeryVeryVeryVeryLongVariableCalledA || + (veryVeryVeryVeryVeryLongVariableCalledB && c) + ) {} + while ( + veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB == a() + ) {} + while ( + a() == veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + while ( + veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB + ) {} + while ( + (veryVeryVeryVeryVeryLongVariableCalledA && + veryVeryVeryVeryVeryLongVariableCalledB) || c + ) {} + while ( + veryVeryVeryVeryVeryLongVariableCalledA || + (veryVeryVeryVeryVeryLongVariableCalledB && c) + ) {} + for ( + a = veryVeryVeryVeryVeryLongVariableCalledA; + a <= veryVeryVeryVeryVeryLongVariableCalledA; + a += veryVeryVeryVeryVeryLongVariableCalledA || + veryVeryVeryVeryVeryLongVariableCalledB + ? 1 + : 2 + ) {} + a( + veryVeryVeryVeryVeryLongVariableCalledA || + veryVeryVeryVeryVeryLongVariableCalledB + ); + return + veryVeryVeryVeryVeryLongVariableCalledA || + veryVeryVeryVeryVeryLongVariableCalledB; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) || c; + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) || + (c && + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + )) || + d; + a = + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) || c; + if ( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) || c + ) {} + a( + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) || c + ); + return + veryVeryVeryVeryVeryLongFunctionCalledA( + veryVeryVeryVeryVeryLongVariableCalledB + ) || c; + } +} + +================================================================================ +`; + +exports[`Parentheses.sol - {"experimentalOperatorPosition":"start"} format 1`] = ` +====================================options===================================== +experimentalOperatorPosition: "start" +parsers: ["slang"] +printWidth: 80 + | printWidth +=====================================input====================================== +pragma solidity 0.5.8; + + +contract Parentheses { + function() { + a + b + c; + a + b - c; + a + b * c; + a + b / c; + a + b % c; + a + b ** c; + a + b << c; + a + b >> c; + a + b & c; + a + b | c; + a + b ^ c; + a - b + c; + a - b - c; + a - b * c; + a - b / c; + a - b % c; + a - b ** c; + a - b << c; + a - b >> c; + a - b & c; + a - b | c; + a - b ^ c; + a * b + c; + a * b - c; + a * b * c; + a * b / c; + a * b % c; + a * b ** c; + a * b << c; + a * b >> c; + a * b & c; + a * b | c; + a * b ^ c; + a / b + c; + a / b - c; + a / b * c; + a / b / c; + a / b % c; + a / b ** c; + a / b << c; + a / b >> c; + a / b & c; + a / b | c; + a / b ^ c; + a % b + c; + a % b - c; + a % b * c; + a % b / c; + a % b % c; + a % b ** c; + a % b << c; + a % b >> c; + a % b & c; + a % b | c; + a % b ^ c; + a ** b + c; + a ** b - c; + a ** b * c; + a ** b / c; + a ** b % c; + a ** b ** c; + a ** b << c; + a ** b >> c; + a ** b & c; + a ** b | c; + a ** b ^ c; + a << b + c; + a << b - c; + a << b * c; + a << b / c; + a << b % c; + a << b ** c; + a << b << c; + a << b >> c; + a << b & c; + a << b | c; + a << b ^ c; + a >> b + c; + a >> b - c; + a >> b * c; + a >> b / c; + a >> b % c; + a >> b ** c; + a >> b << c; + a >> b >> c; + a >> b & c; + a >> b | c; + a >> b ^ c; + a & b + c; + a & b - c; + a & b * c; + a & b / c; + a & b % c; + a & b ** c; + a & b << c; + a & b >> c; + a & b & c; + a & b | c; + a & b ^ c; + a | b + c; + a | b - c; + a | b * c; + a | b / c; + a | b % c; + a | b ** c; + a | b << c; + a | b >> c; + a | b & c; + a | b | c; + a | b ^ c; + a ^ b + c; + a ^ b - c; + a ^ b * c; + a ^ b / c; + a ^ b % c; + a ^ b ** c; + a ^ b << c; + a ^ b >> c; + a ^ b & c; + a ^ b | c; + a ^ b ^ c; + a || b || c; + a || b && c; + a && b || c; + a && b && c; + } +} + +=====================================output===================================== +pragma solidity 0.5.8; + +contract Parentheses { + function() { + a + b + c; + a + b - c; + a + b * c; + a + b / c; + a + (b % c); + a + b ** c; + (a + b) << c; + (a + b) >> c; + (a + b) & c; + (a + b) | c; + (a + b) ^ c; + a - b + c; + a - b - c; + a - b * c; + a - b / c; + a - (b % c); + a - b ** c; + (a - b) << c; + (a - b) >> c; + (a - b) & c; + (a - b) | c; + (a - b) ^ c; + a * b + c; + a * b - c; + a * b * c; + (a * b) / c; + (a * b) % c; + a * b ** c; + (a * b) << c; + (a * b) >> c; + (a * b) & c; + (a * b) | c; + (a * b) ^ c; + a / b + c; + a / b - c; + (a / b) * c; + a / b / c; + (a / b) % c; + a / b ** c; + (a / b) << c; + (a / b) >> c; + (a / b) & c; + (a / b) | c; + (a / b) ^ c; + (a % b) + c; + (a % b) - c; + (a % b) * c; + (a % b) / c; + (a % b) % c; + a % b ** c; + a % b << c; + a % b >> c; + a % b & c; + a % b | c; + a % b ^ c; + a ** b + c; + a ** b - c; + a ** b * c; + a ** b / c; + a ** b % c; + (a ** b) ** c; + (a ** b) << c; + (a ** b) >> c; + (a ** b) & c; + (a ** b) | c; + (a ** b) ^ c; + a << (b + c); + a << (b - c); + a << (b * c); + a << (b / c); + a << b % c; + a << (b ** c); + (a << b) << c; + (a << b) >> c; + (a << b) & c; + (a << b) | c; + (a << b) ^ c; + a >> (b + c); + a >> (b - c); + a >> (b * c); + a >> (b / c); + a >> b % c; + a >> (b ** c); + (a >> b) << c; + (a >> b) >> c; + (a >> b) & c; + (a >> b) | c; + (a >> b) ^ c; + a & (b + c); + a & (b - c); + a & (b * c); + a & (b / c); + a & b % c; + a & (b ** c); + a & (b << c); + a & (b >> c); + a & b & c; + (a & b) | c; + (a & b) ^ c; + a | (b + c); + a | (b - c); + a | (b * c); + a | (b / c); + a | b % c; + a | (b ** c); + a | (b << c); + a | (b >> c); + a | (b & c); + a | b | c; + a | (b ^ c); + a ^ (b + c); + a ^ (b - c); + a ^ (b * c); + a ^ (b / c); + a ^ b % c; + a ^ (b ** c); + a ^ (b << c); + a ^ (b >> c); + a ^ (b & c); + (a ^ b) | c; + a ^ b ^ c; + a || b || c; + a || (b && c); + (a && b) || c; + a && b && c; + } +} + +================================================================================ +`; + exports[`Parentheses.sol format 1`] = ` ====================================options===================================== parsers: ["slang"] diff --git a/tests/format/BinaryOperators/format.test.js b/tests/format/BinaryOperators/format.test.js index 6021bbb0d..96d406538 100644 --- a/tests/format/BinaryOperators/format.test.js +++ b/tests/format/BinaryOperators/format.test.js @@ -1 +1,4 @@ runFormatTest(import.meta, ['slang']); +runFormatTest(import.meta, ['slang'], { + experimentalOperatorPosition: 'start' +});