diff --git a/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala b/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala index 41b9f9769..ced1ffa7a 100644 --- a/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala +++ b/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala @@ -85,18 +85,18 @@ trait QFunction { def failOutputs = statusPaths.map(path => new File(path + ".fail")) /** The complete list of fields on this CommandLineFunction. */ - def functionFields = QFunction.classFields(this.getClass).functionFields + def functionFields = QFunction.classFields(this.functionFieldClass).functionFields /** The @Input fields on this CommandLineFunction. */ - def inputFields = QFunction.classFields(this.getClass).inputFields + def inputFields = QFunction.classFields(this.functionFieldClass).inputFields /** The @Output fields on this CommandLineFunction. */ - def outputFields = QFunction.classFields(this.getClass).outputFields + def outputFields = QFunction.classFields(this.functionFieldClass).outputFields /** The @Argument fields on this CommandLineFunction. */ - def argumentFields = QFunction.classFields(this.getClass).argumentFields + def argumentFields = QFunction.classFields(this.functionFieldClass).argumentFields /** - * Called at most once, returns the list of fields for this function. + * Returns the class that should be used for looking up fields. */ - protected def initFunctionFields = ParsingEngine.extractArgumentSources(this.getClass).toList + protected def functionFieldClass = this.getClass /** * Returns the input files for this function. diff --git a/scala/src/org/broadinstitute/sting/queue/function/scattergather/CloneFunction.scala b/scala/src/org/broadinstitute/sting/queue/function/scattergather/CloneFunction.scala index 85ea2606e..11ccff984 100644 --- a/scala/src/org/broadinstitute/sting/queue/function/scattergather/CloneFunction.scala +++ b/scala/src/org/broadinstitute/sting/queue/function/scattergather/CloneFunction.scala @@ -33,7 +33,7 @@ class CloneFunction extends CommandLineFunction { override def dotString = originalFunction.dotString override def description = originalFunction.description - override protected def initFunctionFields = originalFunction.functionFields + override protected def functionFieldClass = originalFunction.getClass override def useStatusOutput(file: File) = file != jobOutputFile && file != jobErrorFile && originalFunction.useStatusOutput(file)