1. 19 Dec, 2019 3 commits
  2. 18 Dec, 2019 1 commit
    • Dridi Boukelmoune's avatar
      Improve the VCL recursive sub calls error message · db0baa74
      Dridi Boukelmoune authored
      Before:
      
          ...called from "foo"
          ('<vcl.inline>' Line 5 Pos 27)
                  sub bar { call foo; }
          --------------------------#--
      
      After:
      
          ...called from "bar"
          ('<vcl.inline>' Line 5 Pos 24)
                  sub bar { call foo; }
          -----------------------###---
      
      This fixes the "called from" part of the message to refer to the caller
      instead of the callee, and underlines the symbol token instead of the
      semi-colon.
      db0baa74
  3. 17 Dec, 2019 3 commits
  4. 16 Dec, 2019 14 commits
  5. 15 Dec, 2019 1 commit
  6. 13 Dec, 2019 4 commits
  7. 12 Dec, 2019 4 commits
  8. 11 Dec, 2019 4 commits
    • Dridi Boukelmoune's avatar
      Rename obscure symbol variables · 6d1a3028
      Dridi Boukelmoune authored
      Every time I read this code I fail to remember which symbol is which, so
      from now on the instance symbol will be called isym, the object symbol
      osym and the method symbols msym.
      6d1a3028
    • Dridi Boukelmoune's avatar
      Whitespace OCD · 1a6a6e8e
      Dridi Boukelmoune authored
      They fit within 80 columns.
      1a6a6e8e
    • Dridi Boukelmoune's avatar
      Omit the separator in VCC functions extra arguments · 12a16117
      Dridi Boukelmoune authored
      Instead, the comma is emitted when there is indeed an extra argument.
      
      This change was initially submitted in #3147 and is needed when the
      extra argument may vary for a given symbol. More specifically, when
      a method symbol may be shared by several instance symbols, it becomes
      really difficult to find a spot where that extra comma might be added.
      
      Removing it from the extra argument itself makes this easier once we
      reach the point where method symbols are unique (per object) instead
      of repeated (per instance).
      12a16117
    • Dridi Boukelmoune's avatar
      Align symbol table columns in the generated C code · 77d5d0f0
      Dridi Boukelmoune authored
      At the end of the VGC we output the contents of the symbol table inside
      a C comment. It might look like this:
      
          /*
           * Symbol Table
           *
           * reserved  VOID       41 41 acl
           * reserved  VOID       41 41 backend
           * action    VOID       40 41 ban
           * var       HTTP        0 99 bereq
           * var       BACKEND     0 99 bereq.backend
           * [...]
           */
      
      All columns are currently aligned because we know all the native VCL
      types and only the last column with the symbol names has unpredictable
      and arbitrary entries lengths.
      
      However, considering the following snippet:
      
          new fb = directors.fallback();
      
      The involved symbols will look like:
      
          object    VOID      41 41 directors.fallback
          instance  INSTANCE  41 41 fb
          func      VOID      40 41 fb.add_backend
          func      BACKEND   40 41 fb.backend
          func      VOID      40 41 fb.remove_backend
      
      In the future VMOD objects will likely grow their own types and for the
      same snippet we may have this instead:
      
          object    directors.fallback  41 41 directors.fallback
          method    VOID                40 41 directors.fallback.add_backend
          method    BACKEND             40 41 directors.fallback.backend
          method    VOID                40 41 directors.fallback.remove_backend
          instance  directors.fallback  41 41 fb
      
      This change was initially submitted as part of #3147, but was considered
      trivial and fast-track-able by PHK.
      77d5d0f0
  9. 09 Dec, 2019 6 commits