aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/bookmaker/includeParser.cpp
Commit message (Collapse)AuthorAge
* fix bookmakerGravatar Cary Clark2018-06-15
| | | | | | | | | | | | | | make deleted constructors private fix indexing bug that finds private methods TBR=bsalomon@google.com,halcanary@google.com Bug: skia:6898 Change-Id: I86c0bafbb7c56131c503054e021ec844731c900d Reviewed-on: https://skia-review.googlesource.com/135058 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* do not mistake locals for methodsGravatar Cary Clark2018-06-14
| | | | | | | | | | | | | | | bookmaker parsed xxx(xxx) as a method but in this case fXxx(xxx) was a local initialization. Look for 'f' followed by an upper case letter to know the difference. TBR=csmartdalton@google.com Bug: skia:6898 Change-Id: Ie0138d9412bc6c06915af81a5b83cbd7e83ebef6 Reviewed-on: https://skia-review.googlesource.com/135041 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* generate SkColor includeGravatar Cary Clark2018-06-07
| | | | | | | | | | | | | | | | bookmaker can now generate SkColor.h This required adding support for #define, typedef, global constexpr, and fixing various bugs, like forward declared structs between comments. Docs-Preview: https://skia.org/?cl=131260 Bug: skia:6898 TBR=caryclark@google.com Change-Id: I6bee0c6f5c3a6820b04472a318abde8a2523dbbb Reviewed-on: https://skia-review.googlesource.com/131260 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
* generate include commentsGravatar Cary Clark2018-05-30
| | | | | | | | | | | | | | | | | - formalize how aliases and substitutions work together - add constexpr, #define, typedef support - check for correct description order - write short enum, struct members R=caryclark@google.com Docs-Preview: https://skia.org/?cl=129455 Bug: skia:6898 Change-Id: Id60fc2ed02f38a7ba4e5cad5ef493d8c674e6183 Reviewed-on: https://skia-review.googlesource.com/129455 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
* remove defines and add commasGravatar Cary Clark2018-05-21
| | | | | | | | | | | | | | | | | | | | | | | | Preparation for generating bookmaker files for all remaining interfaces Standardize enum and enum classes by including a comma after the last entry. Replace flatten-related #define in public interfaces with their equivalent. The motivation is to give documentation something to refer to. An alternative would be to move part or all of this out of the public interface; something I can work on in a follow-up CL. R=reed@google.com,bsalomon@google.com Bug: skia:6898 Change-Id: I4b865f6ec3d8f5d31e50448fef7d2714510302f0 Reviewed-on: https://skia-review.googlesource.com/129312 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* alternative no anonymous enumsGravatar Cary Clark2018-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Anonymous enums play havoc with documentation; there's no name to refer to. It may be that all enums may either be named or replaced with constexpr without breaking anything. Try replacing all anonymous enums in include/core to see what happens. This names SkCanvas::SaveLayerFlagsSet but leaves SkCanvas::SaveLayerFlags as a uint32_t, to reduce risk as compared to review.skia.org/123584. There's also some chance that external linkage will break if some client refers to anonymous enum in a way that could require its address: see https://stackoverflow.com/questions/22867654/enum-vs-constexpr-for-actual-static-constants-inside-classes (This CL does not require definitions + declarations) Brought bookmaker docs in line with this change. This also tripped over missing code in bookmaker handling constexpr so added that as well. R=reed@google.com,bsalomon@google.com Docs-Preview: https://skia.org/?cl=123920 Docs-Preview: https://skia.org/?cl=123584 Bug: skia:6898 Change-Id: I14a342edcfd59e139ef9e4501f562417c4c60391 Reviewed-on: https://skia-review.googlesource.com/123920 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* document SkColor.hGravatar Cary Clark2018-04-16
| | | | | | | | | | | | | | | | | | | | | | SkColor.h uses #define liberally, and has many global symbols, two things bookmaker hasn't seen in other includes. Revised .h -> .bmh converter to work with SkColor.h as well as updating how .bmh indices are built. Generated SkColor_Reference.bmh for globals, and SkColor4f_Reference.bmh for class. Other than the existing comments, this doesn't update the documentation or add new examples. Docs-Preview: https://skia.org/?cl=118985 TBR=caryclark@google.com Bug: skia:6898 Change-Id: I5978257ee0e51319823efbe8dfc467a08c99ffe0 Reviewed-on: https://skia-review.googlesource.com/118985 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* remove SK_IGNORE_TO_STRINGGravatar Cary Clark2018-04-05
| | | | | | | | | | | | | | | | | | | SK_IGNORE_TO_STRING is not defined anywhere. The same effect can be had by using a modern linker. Removing it simplifies bookmaker and makes our includes easier to understand. R=robertphillips@google.com TBR=reed@google.com Bug: skia:6898 Change-Id: Ib716f5ef1b42a7fbda0df43ece212d1b7c40289f Reviewed-on: https://skia-review.googlesource.com/118963 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* fix bugs exposed by documenting SkImageInfoGravatar Cary Clark2018-04-03
| | | | | | | | | | | | | | | | | | | | | | | | - More rigorous symbol identification creates additional links, and finds spurious errors like unnecessary parentheses. - Fixed code to allow preprocessor directives in #Code blocks (still more to do). - Fixed examples waiting on fiddle updates. - Make SkImageInfo officially documented (update in status.json). - Fixed enum indentation. Docs-Preview: https://skia.org/?cl=115656 Bug: skia:6898 Change-Id: Ifcf5cfd3f6c03b3b83155c898b2b035a2f3d443c Reviewed-on: https://skia-review.googlesource.com/115656 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* more SkImageInfo docsGravatar Cary Clark2018-03-20
| | | | | | | | | | | | | | | fix a couple of fiddles with changed output rewrite some SkSurface image makers move towards replacing SkImageInfo.h R=caryclark@google.com Docs-Preview: https://skia.org/?cl=115163 Bug: skia:6898 Change-Id: Id9895b051cd457336c30250a69cf95359d1d34d7 Reviewed-on: https://skia-review.googlesource.com/115163 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* detect deprecated methodsGravatar Cary Clark2018-03-19
| | | | | | | | | | | | | | | | | | | If a method in an include is marked deprecated, make sure that the documentation is marked deprecated. It's OK for the documentation to mark something deprecated that is not marked as such in the includes since the documentation may be ahead of the includes. Fix a couple of mistakes found around deprecated methods. Docs-Preview: https://skia.org/?cl=114184 TBR=caryclark@google.com Bug: skia:6898 Change-Id: I2bb4c293d7bf28e5d12f9ae01b7be49ce48b9ee4 Reviewed-on: https://skia-review.googlesource.com/114184 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* add starting template supportGravatar Cary Clark2018-03-09
| | | | | | | | | | | | | | | | | | some support for interfaces containing template <typename x> class x includeParser now correctly balances bracket indentions and builds correct hierarchy. Cross-check does not detect that the bmh definition is missing the class; then includeWriter asserts when the bmh class can't be found. TBR=caryclark@google.com Bug: skia:6898 Change-Id: Ibb70667ed4a6f8e553eec3924b56dfde737b4383 Reviewed-on: https://skia-review.googlesource.com/113460 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* work in imageinfo and phrase substitutionGravatar Cary Clark2018-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the ability to define long phrases in one place and refer to those phrases in many places. Bookmaker has new syntax to support phrase substitution. When it encounters #some_phrase_reference# It substitutes the body of #PhraseDef some_phrase_reference text to substitute when encountering the phrase ## The phrase label must start with a lowercase letter, and be bracketed by single hash marks, without spaces between the label and the hash marks. Docs-Preview: https://skia.org/?cl=111224 TBR=caryclark@google.com Bug: skia:6898 Change-Id: I12c57d916ccedbd86b421377d117399150ada72a Reviewed-on: https://skia-review.googlesource.com/111224 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* working on SkImage docsGravatar Cary Clark2018-02-08
| | | | | | | | | | | | also fix minor break in SkSurface TBR=caryclark@google.com Docs-Preview: https://skia.org/?cl=105021 Bug: skia: Change-Id: I0cfc01ab5ba4df13a9e84f8dd2904d32e5726a5b Reviewed-on: https://skia-review.googlesource.com/105021 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* working on global enum and image infoGravatar Cary Clark2018-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added global enum support. That exposed one big hole in bookmaker: The topic overview should not be in the class or struct if the topic includes multiple objects, which is the case for SkImageInfo and enums like SkColorType. This straightens that out, and then used that knowledge to strengthen the topics in SkRect as a test. Now SkRect has more groups of methods, and can expose and link to sets of methods with the same name. This work also is getting ready for tightening SeeAlso data, to be checked as part of the bots' tasks soon. Also, remove links from markup for lowercase method names unless the reference has trailing parentheses. TBR=caryclark@google.com Docs-Preview: https://skia.org/?cl=98782 Bug: skia:6898 Change-Id: I35419c9789da17e272047bf7b9c95b1cf44bb7fe Reviewed-on: https://skia-review.googlesource.com/98782 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@google.com>
* report error on global enumGravatar Cary Clark2018-01-23
| | | | | | | | | | | | | | | | rather than segfault when running bookmaker cross check, report a parsable error. In a separate CL, I'll add support for global enums. R=herb@google.com Bug: skia:6898 Change-Id: I91c62df5470acbf5c0acf0c558d2d5d3bf48d40e Reviewed-on: https://skia-review.googlesource.com/98682 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Herb Derby <herb@google.com>
* update bookmakerGravatar Cary Clark2018-01-05
| | | | | | | | | | | | | | | | | | | | | change https://skia-review.googlesource.com/c/skia/+/91380 should have triggered a bookmaker failure but, while it reported the error it did not return that the check failed. See https://chromium-swarm.appspot.com/task?id=3adfe04df6f9ce10&refresh=10 Update bookmaker to detect and return error also, add some SkImage examples fixed some linefeeds TBR=bsalomon@google.com Docs-Preview: https://skia.org/?cl=90883 Bug: skia:6898 Change-Id: I3530c8d81785b71568f6229c2aad3259dded59d7 Reviewed-on: https://skia-review.googlesource.com/90883 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* limit bookmaker status outputGravatar Cary Clark2018-01-04
| | | | | | | | | | | | | | streamline 'working as intended' output notify when output changed fix bug which appended output incorrectly to SkBitmap.h fix bug that hid bad SkSurface.h from detection Docs-Preview: https://skia.org/?cl=90162 Bug: skia:6898 Change-Id: I067cfe5bbad706345fb5cd540cdc3835ce22d822 Reviewed-on: https://skia-review.googlesource.com/90162 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* support srgb flag in bookmakerGravatar Cary Clark2018-01-03
| | | | | | | | | | | | | | | allow examples to work with colorspace fix point array plural form fix spacing after private message add some SkImage documentation TBR=caryclark@google.com Docs-Preview: https://skia.org/?cl=90360 Bug: skia:6898 Change-Id: I045ee68e7dd9747ec5d40d95588bbc1594c45366 Reviewed-on: https://skia-review.googlesource.com/90360 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* update image doc and minor bookmaker fixesGravatar Cary Clark2018-01-02
| | | | | | | | | | | | | | | | | | | | image doc is still a work in progress. Update online version to latest; updating include header is still a ways off. Remove SkPaint::flatten() example since parameter is not publicly accessible. Minor changes to fix typedef and std::function references. TBR=rmistry@google.com Docs-Preview: https://skia.org/?cl=87120 Bug: skia:6898 Change-Id: I3553bc5fca97c5997aa61ea034b5ca10cb10df75 Reviewed-on: https://skia-review.googlesource.com/87120 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* fix bookmaker return valueGravatar Cary Clark2017-12-21
| | | | | | | | | | | | | | | | | | | | | crosscheck in bookmaker allows discovery of multiple errors, but fails to return that an error occurred. Fix SkSurface so it is up to date with includes. Add include parameter name in SkSurface. Allow longer parameter descriptions. TBR=bsalomon@google.com,rmistry@google.com Docs-Preview: https://skia.org/?cl=88041 Bug: skia:6898 Change-Id: I9daf83f7f6753b3d1dc996a76e4693b3b8d6798c Reviewed-on: https://skia-review.googlesource.com/88041 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@google.com>
* working on image and nightly housekeeping botGravatar Cary Clark2017-12-11
| | | | | | | | | | | | | | | | Add more examples and docs for SkImage; still a ways to go. Fix bit-rotted examples. Add typedef support. Add json driver to pick files to work on; remove special-casing. Fix unordered map traversal that made md output unreliable. TBR=rmistry@google.com Docs-Preview: https://skia.org/?cl=80060 Bug: skia:6898 Change-Id: Ib8eb9fdfa5a9db61c8332e657fa2e2f4b96a665f Reviewed-on: https://skia-review.googlesource.com/80060 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* bookmaker refreshGravatar Cary Clark2017-11-27
| | | | | | | | | | | | | | Add support for more operator overloads. Add SkSurface, SkPoint, SkIPoint, SkIPoint16 docs. (SkImage doc skeleton added, but not really started.) Force recompile all examples. Docs-Preview: https://skia.org/?cl=67726 Bug: skia:6898 Change-Id: If9e2d23f79d5db64146dd22588f5cac970614b8a Reviewed-on: https://skia-review.googlesource.com/67726 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Add docs for SkMatrix, SkRect, SkIRect, SkBitmapGravatar Cary Clark2017-10-26
| | | | | | | | | | | | | | | Also minor changes to earlier docs. Many small changes to improve indentation in generated includes. Added support for matrix math illustrations. Docs-Preview: https://skia.org/?cl=58500 Bug: skia:6898 Change-Id: I7da58ad55f82d7fd41d19288beb2cd71730fb01f Reviewed-on: https://skia-review.googlesource.com/58500 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@skia.org>
* General clean up on bookmaker.Gravatar Cary Clark2017-10-11
| | | | | | | | | | | | | | Command line runs without error for SkBitmap, SkPath, SkRect, SkIRect, SkPixmap, SkCanvas. Docs-Preview: https://skia.org/?cl=57112 TBR: caryclark@google.com Bug: skia:6898 Change-Id: I73b69ae8ffdf0a1e6bc187dc8a9dfb28f7766faa Reviewed-on: https://skia-review.googlesource.com/57112 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Remove trailing whitespace.Gravatar Ben Wagner2017-10-09
| | | | | | | | | | | Also adds a presubmit to prevent adding trailing whitespace to source code in the future. Change-Id: I41a4df81487f6f00aa19b188f0cac6a3377efde6 Reviewed-on: https://skia-review.googlesource.com/57380 Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* work on generation of rect, bitmap, matrix markupGravatar Cary Clark2017-09-19
| | | | | | | | | TBR=caryclark@google.com Bug: skia:6898 Change-Id: I501d87341afa2f8d548b4d02415375032a46e96e Reviewed-on: https://skia-review.googlesource.com/47420 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* wip pixmap docsGravatar Cary Clark2017-09-14
| | | | | | | | | | | wip pixmap docs Docs-Preview: https://skia.org/?cl=42522 Bug: skia: 6898 Change-Id: I85947bc36ea057ed008b87d7bef2efa82d7c89ad Reviewed-on: https://skia-review.googlesource.com/42522 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* bookmaker spelling with fixed linux buildGravatar Cary Clark2017-09-01
| | | | | | | | | | | | | | | | | | Work on spell-checker to identify errors and isolate more concepts requiring definitions. fix linux build Docs-Preview: https://skia.org/?cl=42103 Docs-Preview: https://skia.org/?cl=41180 Tbr: caryclark@google.com Bug: skia: 6898 Change-Id: Id939b0c2915c22e0fa1b15623c1a56fbe9d4051d Reviewed-on: https://skia-review.googlesource.com/42103 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Revert "wip spelling mania"Gravatar Cary Clark2017-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit da65a0489ae429f026bad32c9a0ef2010f40e175. Reason for revert: fails to build on linux Original change's description: > wip spelling mania > > Work on spell-checker > to identify errors and > isolate more concepts > requiring definitions. > > Docs-Preview: https://skia.org/?cl=41180 > TBR: reed@google.com > Bug: skia: 6898 > Change-Id: I0759beb42eaf6095908a9bd7decfcd0026253609 > Reviewed-on: https://skia-review.googlesource.com/41180 > Reviewed-by: Cary Clark <caryclark@skia.org> > Commit-Queue: Cary Clark <caryclark@skia.org> TBR=caryclark@google.com,caryclark@skia.org Change-Id: I173e50ea5b51273cd316ac9964af3a498b5300e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: 6898 Reviewed-on: https://skia-review.googlesource.com/42140 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* wip spelling maniaGravatar Cary Clark2017-09-01
| | | | | | | | | | | | | | | Work on spell-checker to identify errors and isolate more concepts requiring definitions. Docs-Preview: https://skia.org/?cl=41180 TBR: reed@google.com Bug: skia: 6898 Change-Id: I0759beb42eaf6095908a9bd7decfcd0026253609 Reviewed-on: https://skia-review.googlesource.com/41180 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* work on pathGravatar Cary Clark2017-08-30
| | | | | | | | | | | | | | | | | Work on SkPath.h documentation; fixed self-consistency bugs identified by bookmaker. Fixed a couple of minor typos in SkPath.h itself. Also brought SkPaint and SkCanvas docs up to date. TBR=reed@google.com Docs-Preview: https://skia.org/?cl=39040 Bug: skia: 6898 Change-Id: Id89d4e2fa7fb6ee2e3cbec7ea762e06308b67d8b Reviewed-on: https://skia-review.googlesource.com/39040 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@skia.org>
* update canvas doc, primarily readpixels and writepixelsGravatar Cary Clark2017-08-24
| | | | | | | | | | | | | | also fixed minor bookmaker bugs so canvas include and online docs are (bookmaker detected) error-free TBR=reed@google.com Docs-Preview: https://skia.org/?cl=37840 Bug: skia: Change-Id: Ifcec9c751105444047c37d89fd984dbd4dfd1913 Reviewed-on: https://skia-review.googlesource.com/37840 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* canvas include checkpointGravatar Cary Clark2017-08-03
| | | | | | | | | | | | All fixes to bookmaker to allow creating SkCanvas.h Docs-Preview: https://skia.org/?cl=29022 TBR=caryclark@google.com Bug: skia: 6898 Change-Id: If10638fbc77cfe680f21868c97f9c0643b87ebf9 Reviewed-on: https://skia-review.googlesource.com/29022 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* bookmaker initial checkinGravatar Cary Clark2017-07-28
bookmaker is a tool that generates documentation backends from a canonical markup. Documentation for bookmaker itself is evolving at docs/usingBookmaker.bmh, which is visible online at skia.org/user/api/bmh_usingBookmaker Change-Id: Ic76ddf29134895b5c2ebfbc84603e40ff08caf09 Reviewed-on: https://skia-review.googlesource.com/28000 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>