Class ScopeHidingVariableRewriter

  • All Implemented Interfaces:
    Op04Rewriter

    public class ScopeHidingVariableRewriter
    extends java.lang.Object
    implements Op04Rewriter
    We may have deep inner classes, with references to each other.

    So

    this.Inner2.this.Inner1.this

    But this is illegal. So remove the outer one, leaving

    this.Inner1.this (the LHS this is still illegal, but will be removed later).

    • Field Detail

      • method

        private final Method method
      • outerNames

        private final java.util.Set<java.lang.String> outerNames
      • usedNames

        private final java.util.Set<java.lang.String> usedNames
    • Constructor Detail

      • ScopeHidingVariableRewriter

        public ScopeHidingVariableRewriter​(java.util.List<ClassFileField> fieldVariables,
                                           Method method,
                                           ClassCache classCache)