Пример #1
0
  VarDefBuffer getCachedGetAt(TempCache cache, int x) {
    assertIfFalse(x > 0);

    if (cache != null) {
      int nTypeId = getTypeId();
      CoupleVar coupleVarGetAt = cache.getTempVar(nTypeId);
      if (coupleVarGetAt != null) {
        // Adjust varDefGetAt to m_varDef.getAt(x); It is already created in the correct type
        int nAbsStart = getAbsStart(x - 1);
        int nDebugIndex = VarDefBase.makeDebugIndex(x);
        adjustSetting(coupleVarGetAt.m_varDefBuffer, nAbsStart, nDebugIndex, 1, m_varDefParent);
        return coupleVarGetAt.m_varDefBuffer;
      }
      VarDefBuffer varDefGetAt = createVarDefAt(x - 1, m_varDefParent);
      cache.addTempVar(nTypeId, varDefGetAt, null);
      return varDefGetAt;
    }
    VarDefBuffer varDefItem = createVarDefAt(x - 1, m_varDefParent);
    return varDefItem;
  }