public static boolean cppTranslatedArrayTypeP(Stella_Object translatedtype) {
    { Surrogate testValue000 = Stella_Object.safePrimaryType(translatedtype);

      if (testValue000 == Stella.SGT_STELLA_CONS) {
        { Cons translatedtype000 = ((Cons)(translatedtype));

          return (Stella_Object.cppTranslatedArrayTypeP(translatedtype000.last()));
        }
      }
      else if (Surrogate.subtypeOfStringP(testValue000)) {
        { StringWrapper translatedtype000 = ((StringWrapper)(translatedtype));

          { String transtype = translatedtype000.wrapperValue;

            return ((transtype.charAt((transtype.length() - 1)) == ']') &&
                ((Native.stringSearch(transtype, "(*)", 0) != Stella.NULL_INTEGER) ||
                 (Native.stringSearch(transtype, "(*&)", 0) != Stella.NULL_INTEGER)));
          }
        }
      }
      else {
      }
    }
    return (false);
  }