From e0afb879a8ea6f19f0f9b03c0f206e39f50efbe8 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 23 Nov 2005 15:20:04 +0000 Subject: *** empty log message *** --- newsources/scala/CaseClass.scala | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 newsources/scala/CaseClass.scala (limited to 'newsources') diff --git a/newsources/scala/CaseClass.scala b/newsources/scala/CaseClass.scala new file mode 100644 index 0000000000..e644a03750 --- /dev/null +++ b/newsources/scala/CaseClass.scala @@ -0,0 +1,32 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2002-2004, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +** $Id$ +\* */ + +package scala; + +/** defines an access function for instances of case classes + * + * @author Burak Emir + */ +trait CaseClass extends AnyRef { + + /** for a case class A(x_0,...,x_(k-1)), returns x_i for 0 <= i < k, + ** null otherwise + */ + def caseElement(n: Int): Any ; + + /** need also, for reflection + def setCaseElement(n: Int, v: Any): unit + */ + + /** for a case class A(x_0,...,x_(k-1)), returns k + */ + def caseArity: Int; + + def caseName: String; +} -- cgit v1.2.3