[ https://issues.apache.org/jira/browse/GROOVY-11655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John updated GROOVY-11655: -------------------------- Description: for leetcode problem: https://leetcode.com/problems/design-a-text-editor/description/ the java code below: need StringBuilder to {{{color:#0077aa}class{color} {color:#dd4a68}TextEditor{color} {color:#999999}{{color}{color:#0077aa}private{color} {color:#0077aa}final{color} {color:#dd4a68}StringBuilder{color} left {color:#9a6e3a}={color} {color:#0077aa}new{color} {color:#dd4a68}StringBuilder{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#0077aa}private{color} {color:#0077aa}final{color} {color:#dd4a68}StringBuilder{color} right {color:#9a6e3a}={color} {color:#0077aa}new{color} {color:#dd4a68}StringBuilder{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#0077aa}public{color} {color:#0077aa}void{color} {color:#dd4a68}addText{color}{color:#999999}({color}{color:#dd4a68}String{color} text{color:#999999}){color} {color:#999999}{{color} left{color:#999999}.{color}{color:#dd4a68}append{color}{color:#999999}({color}text{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}public{color} {color:#0077aa}int{color} {color:#dd4a68}deleteText{color}{color:#999999}({color}{color:#0077aa}int{color} k{color:#999999}){color} {color:#999999}{{color} k {color:#9a6e3a}={color} {color:#dd4a68}Math{color}{color:#999999}.{color}{color:#dd4a68}min{color}{color:#999999}({color}k{color:#999999},{color} left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color} left{color:#999999}.{color}{color:#dd4a68}setLength{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} {color:#9a6e3a}-{color} k{color:#999999}){color}{color:#999999};{color}{color:#0077aa}return{color} k{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}public{color} {color:#dd4a68}String{color} {color:#dd4a68}cursorLeft{color}{color:#999999}({color}{color:#0077aa}int{color} k{color:#999999}){color} {color:#999999}{{color}{color:#0077aa}while{color} {color:#999999}({color}k {color:#9a6e3a}>{color} {color:#990055}0{color} {color:#9a6e3a}&&{color} {color:#9a6e3a}!{color}left{color:#999999}.{color}{color:#dd4a68}isEmpty{color}{color:#999999}({color}{color:#999999}){color}{color:#999999}){color} {color:#999999}{{color} right{color:#999999}.{color}{color:#dd4a68}append{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}charAt{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} {color:#9a6e3a}-{color} {color:#990055}1{color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color} left{color:#999999}.{color}{color:#dd4a68}setLength{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} {color:#9a6e3a}-{color} {color:#990055}1{color}{color:#999999}){color}{color:#999999};{color} k{color:#9a6e3a}--{color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}return{color} {color:#dd4a68}text{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}public{color} {color:#dd4a68}String{color} {color:#dd4a68}cursorRight{color}{color:#999999}({color}{color:#0077aa}int{color} k{color:#999999}){color} {color:#999999}{{color}{color:#0077aa}while{color} {color:#999999}({color}k {color:#9a6e3a}>{color} {color:#990055}0{color} {color:#9a6e3a}&&{color} {color:#9a6e3a}!{color}right{color:#999999}.{color}{color:#dd4a68}isEmpty{color}{color:#999999}({color}{color:#999999}){color}{color:#999999}){color} {color:#999999}{{color} left{color:#999999}.{color}{color:#dd4a68}append{color}{color:#999999}({color}right{color:#999999}.{color}{color:#dd4a68}charAt{color}{color:#999999}({color}right{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} {color:#9a6e3a}-{color} {color:#990055}1{color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color} right{color:#999999}.{color}{color:#dd4a68}setLength{color}{color:#999999}({color}right{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} {color:#9a6e3a}-{color} {color:#990055}1{color}{color:#999999}){color}{color:#999999};{color} k{color:#9a6e3a}--{color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}return{color} {color:#dd4a68}text{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}private{color} {color:#dd4a68}String{color} {color:#dd4a68}text{color}{color:#999999}({color}{color:#999999}){color} {color:#999999}{{color}{color:#0077aa}return{color} left{color:#999999}.{color}{color:#dd4a68}substring{color}{color:#999999}({color}{color:#dd4a68}Math{color}{color:#999999}.{color}{color:#dd4a68}max{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} {color:#9a6e3a}-{color} {color:#990055}10{color}{color:#999999},{color} {color:#990055}0{color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#999999}}{color}}} > Create extention method to make StringBuilder behaving like stack > ----------------------------------------------------------------- > > Key: GROOVY-11655 > URL: https://issues.apache.org/jira/browse/GROOVY-11655 > Project: Groovy > Issue Type: New Feature > Reporter: John > Priority: Major > > for leetcode problem: > https://leetcode.com/problems/design-a-text-editor/description/ > the java code below: need StringBuilder to > > {{{color:#0077aa}class{color} {color:#dd4a68}TextEditor{color} > {color:#999999}{{color}{color:#0077aa}private{color} > {color:#0077aa}final{color} {color:#dd4a68}StringBuilder{color} left > {color:#9a6e3a}={color} {color:#0077aa}new{color} > {color:#dd4a68}StringBuilder{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#0077aa}private{color} > {color:#0077aa}final{color} {color:#dd4a68}StringBuilder{color} right > {color:#9a6e3a}={color} {color:#0077aa}new{color} > {color:#dd4a68}StringBuilder{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#0077aa}public{color} > {color:#0077aa}void{color} > {color:#dd4a68}addText{color}{color:#999999}({color}{color:#dd4a68}String{color} > text{color:#999999}){color} {color:#999999}{{color} > left{color:#999999}.{color}{color:#dd4a68}append{color}{color:#999999}({color}text{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}public{color} > {color:#0077aa}int{color} > {color:#dd4a68}deleteText{color}{color:#999999}({color}{color:#0077aa}int{color} > k{color:#999999}){color} {color:#999999}{{color} k > {color:#9a6e3a}={color} > {color:#dd4a68}Math{color}{color:#999999}.{color}{color:#dd4a68}min{color}{color:#999999}({color}k{color:#999999},{color} > > left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color} > > left{color:#999999}.{color}{color:#dd4a68}setLength{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} > {color:#9a6e3a}-{color} > k{color:#999999}){color}{color:#999999};{color}{color:#0077aa}return{color} > k{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}public{color} > {color:#dd4a68}String{color} > {color:#dd4a68}cursorLeft{color}{color:#999999}({color}{color:#0077aa}int{color} > k{color:#999999}){color} {color:#999999}{{color}{color:#0077aa}while{color} > {color:#999999}({color}k {color:#9a6e3a}>{color} {color:#990055}0{color} > {color:#9a6e3a}&&{color} > {color:#9a6e3a}!{color}left{color:#999999}.{color}{color:#dd4a68}isEmpty{color}{color:#999999}({color}{color:#999999}){color}{color:#999999}){color} > {color:#999999}{{color} > right{color:#999999}.{color}{color:#dd4a68}append{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}charAt{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} > {color:#9a6e3a}-{color} > {color:#990055}1{color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color} > > left{color:#999999}.{color}{color:#dd4a68}setLength{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} > {color:#9a6e3a}-{color} > {color:#990055}1{color}{color:#999999}){color}{color:#999999};{color} > > k{color:#9a6e3a}--{color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}return{color} > > {color:#dd4a68}text{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}public{color} > {color:#dd4a68}String{color} > {color:#dd4a68}cursorRight{color}{color:#999999}({color}{color:#0077aa}int{color} > k{color:#999999}){color} {color:#999999}{{color}{color:#0077aa}while{color} > {color:#999999}({color}k {color:#9a6e3a}>{color} {color:#990055}0{color} > {color:#9a6e3a}&&{color} > {color:#9a6e3a}!{color}right{color:#999999}.{color}{color:#dd4a68}isEmpty{color}{color:#999999}({color}{color:#999999}){color}{color:#999999}){color} > {color:#999999}{{color} > left{color:#999999}.{color}{color:#dd4a68}append{color}{color:#999999}({color}right{color:#999999}.{color}{color:#dd4a68}charAt{color}{color:#999999}({color}right{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} > {color:#9a6e3a}-{color} > {color:#990055}1{color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color} > > right{color:#999999}.{color}{color:#dd4a68}setLength{color}{color:#999999}({color}right{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} > {color:#9a6e3a}-{color} > {color:#990055}1{color}{color:#999999}){color}{color:#999999};{color} > > k{color:#9a6e3a}--{color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}return{color} > > {color:#dd4a68}text{color}{color:#999999}({color}{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#0077aa}private{color} > {color:#dd4a68}String{color} > {color:#dd4a68}text{color}{color:#999999}({color}{color:#999999}){color} > {color:#999999}{{color}{color:#0077aa}return{color} > left{color:#999999}.{color}{color:#dd4a68}substring{color}{color:#999999}({color}{color:#dd4a68}Math{color}{color:#999999}.{color}{color:#dd4a68}max{color}{color:#999999}({color}left{color:#999999}.{color}{color:#dd4a68}length{color}{color:#999999}({color}{color:#999999}){color} > {color:#9a6e3a}-{color} {color:#990055}10{color}{color:#999999},{color} > {color:#990055}0{color}{color:#999999}){color}{color:#999999}){color}{color:#999999};{color}{color:#999999}}{color}{color:#999999}}{color}}} -- This message was sent by Atlassian Jira (v8.20.10#820010)