diff options
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Definitions.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala index ebd99ad6c..96e4f0138 100644 --- a/src/dotty/tools/dotc/core/Definitions.scala +++ b/src/dotty/tools/dotc/core/Definitions.scala @@ -318,6 +318,9 @@ class Definitions(implicit ctx: Context) { arity <= MaxTupleArity && (tp isRef TupleClass(arity)) } + def isProductSubType(tp: Type) = + (tp derivesFrom ProductClass) && tp.baseClasses.exists(ProductClasses contains _) + def isFunctionType(tp: Type) = { val arity = tp.dealias.typeArgs.length - 1 0 <= arity && arity <= MaxFunctionArity && (tp isRef FunctionClass(arity)) |