示例#1
0
  public void checkTypes(Env env, Resolver resolver) throws CError {
    children[0].checkTypes(env, resolver);
    children[1].checkTypes(env, resolver);

    try {
      checkTypes_(env, resolver);
    } catch (CError e) {
      modnum = null;
      overload = new Overload(token, method);
      overload.operator("%").children(children);
      if (!overload.find(env, resolver)) throw e;
      overload.checkTypes(env, resolver);
      type = overload.getType();
    }
  }
示例#2
0
  public void checkTypes(Env env, Resolver resolver) throws CError {
    children[0].checkTypes(env, resolver);
    children[0].checkPointer(true, token);

    try {
      checkTypes_(env, resolver);
    } catch (CError e) {
      overload = new Overload(token, method);
      OpAddress addrOf = new OpAddress(token, children[0]);
      addrOf.checkTypes(env, resolver);
      overload.operator("++").children(addrOf);
      if (!overload.find(env, resolver)) throw e;
      overload.checkTypes(env, resolver);
      type = overload.getType();
    }
  }