Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start on custom whitelists for Painless #23563

Merged
merged 9 commits into from
Apr 18, 2017

Commits on Mar 13, 2017

  1. Painless: Start on custom whitelists

    We'd like to be able to support context-sensitive whitelists in
    Painless but we can't now because the whitelist is a static thing.
    This begins to de-static the whitelist, in particular removing
    the static keyword from `Definition#getRuntimeClass` and plumbing
    the static instance into the appropriate spots as though it weren't
    static. Once we de-static all the methods we should be able to
    fairly simply build context-sensitive whitelists.
    
    The only "fun" bit of this is that I added another layer in the
    chain of methods that bootstraps `def` calls. Instead of running
    `invokedynamic` directly on `DefBootstrap` we now `invokedynamic`
    `$bootstrapDef` on the script itself loads the `Definition` that
    the script was compiled against and then calls `DefBootstrap`.
    nik9000 committed Mar 13, 2017
    Configuration menu
    Copy the full SHA
    cd70cd8 View commit details
    Browse the repository at this point in the history
  2. Move constant

    nik9000 committed Mar 13, 2017
    Configuration menu
    Copy the full SHA
    12c175d View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2017

  1. de-static isSimletype

    nik9000 committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    f28fa03 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dcd7bd4 View commit details
    Browse the repository at this point in the history
  3. Un-static getType

    I chose to put `Definition` into `Locals` so I didn't have to
    change the signature of all the `analyze` methods. I could have
    do it another way, but that seems ok for now.
    nik9000 committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    1746e41 View commit details
    Browse the repository at this point in the history
  4. Move definition to core

    nik9000 committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    0d889f5 View commit details
    Browse the repository at this point in the history
  5. Destatic the other getType

    nik9000 committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    161a62c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7e98b24 View commit details
    Browse the repository at this point in the history
  7. Cleanup javadoc

    nik9000 committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    200ba16 View commit details
    Browse the repository at this point in the history