Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8042061 Clean-up LambdaToMethod
  3. JDK-8042063

Collapse boiler-plate LambdaContext iteration code

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • None
    • tools
    • generic
    • generic

      The boiler-plate code, repeated at least 7 times --

      - TranslationContext<?> localContext = context();
      - while (localContext != null) {
      - if (localContext.tree.hasTag(LAMBDA)) {
      - /** do something with **/ (LambdaTranslationContext)localContext
      - }
      - localContext = localContext.prev;
      - }


      + for (LambdaTranslationContext ctx = lambdaContext; ctx != null; ctx = ctx.enclosingLambda()) {
      + /** do something with **/ ctx
      + }

      or possibly take it higher level.

            Unassigned Unassigned
            rfield Robert Field (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: