Changeset 15023


Ignore:
Timestamp:
06/01/17 06:45:14 (6 years ago)
Author:
Mark Evenson
Message:

Extract common integer check

(Olof-Joachim Frahm)

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/Lisp.java

    r14552 r15023  
    10831083  }
    10841084
    1085   public static Symbol checkSymbol(LispObject obj)
     1085  public static final LispInteger checkInteger(LispObject obj) {
     1086    if (obj instanceof LispInteger)
     1087      return (LispInteger) obj;
     1088    return (LispInteger) // Not reached.
     1089      type_error(obj, Symbol.INTEGER);
     1090  }
     1091
     1092  public static final Symbol checkSymbol(LispObject obj)
    10861093  {             
    10871094          if (obj instanceof Symbol)     
  • trunk/abcl/src/org/armedbear/lisp/logand.java

    r12288 r15023  
    5555    public LispObject execute(LispObject arg)
    5656    {
    57         if (arg instanceof Fixnum || arg instanceof Bignum)
    58             return arg;
    59         return type_error(arg, Symbol.INTEGER);
     57        return checkInteger(arg);
    6058    }
    6159
  • trunk/abcl/src/org/armedbear/lisp/logeqv.java

    r14466 r15023  
    5757    public LispObject execute(LispObject arg)
    5858    {
    59         if (arg instanceof Fixnum)
    60             return arg;
    61         if (arg instanceof Bignum)
    62             return arg;
    63         return type_error(arg, Symbol.INTEGER);
     59        return checkInteger(arg);
    6460    }
    6561
  • trunk/abcl/src/org/armedbear/lisp/logior.java

    r12288 r15023  
    5353    public LispObject execute(LispObject arg)
    5454    {
    55         if (arg instanceof Fixnum || arg instanceof Bignum)
    56             return arg;
    57         return type_error(arg, Symbol.INTEGER);
     55        return checkInteger(arg);
    5856    }
    5957
  • trunk/abcl/src/org/armedbear/lisp/logxor.java

    r12288 r15023  
    5353    public LispObject execute(LispObject arg)
    5454    {
    55         if (arg instanceof Fixnum || arg instanceof Bignum)
    56             return arg;
    57         return type_error(arg, Symbol.INTEGER);
     55        return checkInteger(arg);
    5856    }
    5957
Note: See TracChangeset for help on using the changeset viewer.