Simplify BoxLang class dumps

Description

BL includes a LOT more information when dumping a class, which is nice for a small example, but when dumping something like the internal classes in ColdBox, the amount of data just gets way out of hand and the performance gets very poor and it’s hard to find anything.

Some notes:

  • Adobe collapses methods by default

  • Adobe doesn’t even show private methods

  • Neither Adobe nor Lucee show ANY data from the superclass outside of the name-- it’s not recursive at all

  • BL seems to be including ALL metadata, but Adobe and Lucee don’t include

    • documentation

    • properties

    • annotations

    • full function metadata

    • other class meta keys

  • We can hide sections such as “static methods” if there are none instead of having the empty placeholder

I’m not suggesting we need to exactly match Adobe or Lucee, but we need to trim some fat to keep performance and usability.

Here is a dump of a simple class with two methods that extends another class.

Lucee:

Adobe:

Adobe (with methods expanded):

 

BoxLang:

 

Attachments

4
  • 31 Aug 2024, 09:34 PM
  • 31 Aug 2024, 09:34 PM
  • 31 Aug 2024, 09:34 PM
  • 31 Aug 2024, 09:34 PM

Activity

Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Fix versions

Priority

Sentry

Created August 31, 2024 at 9:34 PM
Updated September 5, 2024 at 10:35 AM
Resolved September 2, 2024 at 7:56 PM