MCPcopy Index your code
hub / github.com/clojure/clojure / paramArgTypeMatch

Method paramArgTypeMatch

src/jvm/clojure/lang/Reflector.java:642–675  ·  view source on GitHub ↗
(Class paramType, Class argType)

Source from the content-addressed store, hash-verified

640}
641
642static public boolean paramArgTypeMatch(Class paramType, Class argType){
643 if(argType == null)
644 return !paramType.isPrimitive();
645 if(paramType == argType || paramType.isAssignableFrom(argType))
646 return true;
647 if(Compiler.FISupport.maybeFIMethod(paramType) != null && IFn.class.isAssignableFrom(argType))
648 return true;
649 if(paramType == int.class)
650 return argType == Integer.class
651 || argType == long.class
652 || argType == Long.class
653 || argType == short.class
654 || argType == byte.class;// || argType == FixNum.class;
655 else if(paramType == float.class)
656 return argType == Float.class
657 || argType == double.class;
658 else if(paramType == double.class)
659 return argType == Double.class
660 || argType == float.class;// || argType == DoubleNum.class;
661 else if(paramType == long.class)
662 return argType == Long.class
663 || argType == int.class
664 || argType == short.class
665 || argType == byte.class;// || argType == BigNum.class;
666 else if(paramType == char.class)
667 return argType == Character.class;
668 else if(paramType == short.class)
669 return argType == Short.class;
670 else if(paramType == byte.class)
671 return argType == Byte.class;
672 else if(paramType == boolean.class)
673 return argType == Boolean.class;
674 return false;
675}
676
677static boolean isCongruent(Class[] params, Object[] args){
678 boolean ret = false;

Callers 2

getMatchingParamsMethod · 0.95
isCongruentMethod · 0.95

Calls 2

isPrimitiveMethod · 0.80
maybeFIMethodMethod · 0.80

Tested by

no test coverage detected