Giter VIP home page Giter VIP logo

Comments (2)

jmgrassau avatar jmgrassau commented on August 22, 2024 1

Hi Marius,

thanks again for reporting this bug – this should now be fixed with version 1.16.1, which was just released!

Kind regards,
Jörg-Michael

from abap-cleaner.

jmgrassau avatar jmgrassau commented on August 22, 2024

Hi Marius,

thanks for reporting this – yes, this is actually an unnecessary limitation and will be fixed with the next release. Until then, you could simply change this "CLASS: ..." chain into three "CLASS ... DEFINITION DEFERRED." statements, as suggested by the error message.

But regardless of this, you can always do nasty things with chains such as:

REPORT any_report.

START-OF-SELECTION.
  WRITE 'Hello world'.
  CLASS: lcl_any DEFINITION DEFERRED,
         lcl_other DEFINITION DEFERRED,
  lcl_any DEFINITION.

PUBLIC SECTION.
ENDCLASS.

CLASS lcl_other DEFINITION.
  PUBLIC SECTION.
ENDCLASS.

The above example was pretty-printed, but you can see how even the Pretty Printer is struggling to make sense of this. ABAP cleaner won't process such a case, either, although it is syntactically correct.

Interestingly, CLASS ... DEFINITION DEFERRED doesn't end the START-OF-SELECTION event, so if you run this:

REPORT any_report.

START-OF-SELECTION.
  WRITE / 'Hello world'.
  CLASS: lcl_any DEFINITION DEFERRED,
         lcl_other DEFINITION DEFERRED.
  WRITE / 'Hello again'.

CLASS lcl_any DEFINITION.
  PUBLIC SECTION.
ENDCLASS.

CLASS lcl_other DEFINITION.
  PUBLIC SECTION.
ENDCLASS.

you will get:

Hello world
Hello again

meaning that CLASS: ... is correctly indented with 2 spaces there.

Kind regards,
Jörg-Michael

from abap-cleaner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.