Example #1
0
  /**
   * Find or create a local variable. By default, scopes are assumed to only check current depth.
   * Blocks/Closures override this because they have special nesting rules.
   */
  public LocalVariable getLocalVariable(String name, int scopeDepth) {
    LocalVariable lvar = findExistingLocalVariable(name, scopeDepth);
    if (lvar == null) {
      lvar = new LocalVariable(name, scopeDepth, localVars.nextSlot);
      localVars.putVariable(name, lvar);
    }

    return lvar;
  }
Example #2
0
 public LocalVariable findExistingLocalVariable(String name, int depth) {
   return localVars.getVariable(name);
 }