#1000896

UnsupportedOperationException: Position.end on quick fix to import.

    • Created on: Fri, Feb 03 (3 months ago)
    • Reported by: hedefalk
    • Assigned to: Mirko Stocker
    • Milestone: -
    • Type: -
    • Version: 2.1.0-nightly-29
    • Operative System: -
    • Status: Fixed
    • Priority: Normal (3)
    • Component: Refactoring
    • Permission type: Public
    • Fixed in version: -
    • Eclipse version: Indigo
    I have a source file open with an error with a quick fix to import. When I choose it I get this error:

    Error during askOption

    java.lang.UnsupportedOperationException: Position.end
    	at scala.tools.nsc.util.Position$class.end(Position.scala:94)
    	at scala.tools.nsc.util.OffsetPosition.end(Position.scala:204)
    	at scala.tools.refactoring.common.PimpedTrees$SuperConstructorCall.<init>(PimpedTrees.scala:813)
    	at scala.tools.refactoring.common.PimpedTrees$TemplateExtractor$.unapply(PimpedTrees.scala:480)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$children$1.apply(PimpedTrees.scala:520)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$children$1.apply(PimpedTrees.scala:519)
    	at scala.tools.refactoring.util.Memoized$$anonfun$apply$1.apply(Memoized.scala:62)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.find$1(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    	at scala.collection.immutable.List.foreach(List.scala:45)
    	at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
    	at scala.collection.immutable.List.map(List.scala:45)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.find$1(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    	at scala.collection.immutable.List.foreach(List.scala:45)
    	at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
    	at scala.collection.immutable.List.map(List.scala:45)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.find$1(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    	at scala.collection.immutable.List.foreach(List.scala:45)
    	at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
    	at scala.collection.immutable.List.map(List.scala:45)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.find$1(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$find$1$1.apply(PimpedTrees.scala:362)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
    	at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    	at scala.collection.immutable.List.foreach(List.scala:45)
    	at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
    	at scala.collection.immutable.List.map(List.scala:45)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.find$1(PimpedTrees.scala:362)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$apply$6.apply(PimpedTrees.scala:365)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5$$anonfun$apply$6.apply(PimpedTrees.scala:365)
    	at scala.Option.map(Option.scala:133)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.apply(PimpedTrees.scala:365)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$5.apply(PimpedTrees.scala:356)
    	at scala.tools.refactoring.util.Memoized$$anonfun$on$1.apply(Memoized.scala:42)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$findOriginalTree$1.apply(PimpedTrees.scala:350)
    	at scala.tools.refactoring.common.PimpedTrees$$anonfun$findOriginalTree$1.apply(PimpedTrees.scala:348)
    	at scala.tools.refactoring.util.Memoized$$anonfun$apply$1.apply(Memoized.scala:62)
    	at scala.tools.refactoring.sourcegen.TreeChangesDiscoverer$class.scala$tools$refactoring$sourcegen$TreeChangesDiscoverer$class$$isSameAsOriginalTree$1(TreeChangesDiscoverer.scala:81)
    	at scala.tools.refactoring.sourcegen.TreeChangesDiscoverer$class.findAllChangedTrees(TreeChangesDiscoverer.scala:108)
    	at scala.tools.refactoring.implementations.AddImportStatement.findAllChangedTrees(AddImportStatement.scala:13)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$$anonfun$3$$anonfun$apply$2.apply(SourceGenerator.scala:74)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$$anonfun$3$$anonfun$apply$2.apply(SourceGenerator.scala:74)
    	at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
    	at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
    	at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    	at scala.collection.immutable.List.foreach(List.scala:45)
    	at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:200)
    	at scala.collection.immutable.List.flatMap(List.scala:45)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$$anonfun$3.apply(SourceGenerator.scala:74)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$$anonfun$3.apply(SourceGenerator.scala:73)
    	at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
    	at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
    	at scala.collection.immutable.Map$Map1.foreach(Map.scala:118)
    	at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:200)
    	at scala.collection.immutable.Map$Map1.flatMap(Map.scala:106)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$class.generateFragmentsFromTrees(SourceGenerator.scala:73)
    	at scala.tools.refactoring.implementations.AddImportStatement.generateFragmentsFromTrees(AddImportStatement.scala:13)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$$anonfun$createChanges$1.apply(SourceGenerator.scala:33)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$$anonfun$createChanges$1.apply(SourceGenerator.scala:33)
    	at scala.tools.refactoring.common.Tracing$class.context(tracing.scala:30)
    	at scala.tools.refactoring.implementations.AddImportStatement.context(AddImportStatement.scala:13)
    	at scala.tools.refactoring.sourcegen.SourceGenerator$class.createChanges(SourceGenerator.scala:32)
    	at scala.tools.refactoring.implementations.AddImportStatement.createChanges(AddImportStatement.scala:13)
    	at scala.tools.refactoring.Refactoring$$anonfun$refactor$1.apply(Refactoring.scala:29)
    	at scala.tools.refactoring.Refactoring$$anonfun$refactor$1.apply(Refactoring.scala:28)
    	at scala.tools.refactoring.common.Tracing$class.context(tracing.scala:30)
    	at scala.tools.refactoring.implementations.AddImportStatement.context(AddImportStatement.scala:13)
    	at scala.tools.refactoring.Refactoring$class.refactor(Refactoring.scala:28)
    	at scala.tools.refactoring.implementations.AddImportStatement.refactor(AddImportStatement.scala:13)
    	at scala.tools.refactoring.implementations.AddImportStatement.addImports(AddImportStatement.scala:23)
    	at scala.tools.refactoring.implementations.AddImportStatement.addImport(AddImportStatement.scala:17)
    	at scala.tools.eclipse.quickfix.ImportCompletionProposal$$anonfun$applyByASTTransformation$1$$anonfun$1$$anonfun$apply$1.apply(ImportCompletionProposal.scala:58)
    	at scala.tools.eclipse.quickfix.ImportCompletionProposal$$anonfun$applyByASTTransformation$1$$anonfun$1$$anonfun$apply$1.apply(ImportCompletionProposal.scala:56)
    	at scala.tools.nsc.util.InterruptReq.liftedTree1$1(InterruptReq.scala:20)
    	at scala.tools.nsc.util.InterruptReq.execute(InterruptReq.scala:19)
    	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:330)
    	at scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:22)




    The line is this:


    object createdDate extends DateField(this)


    and I haven't DateField imported so I get the option to import "net.liftweb.mongodb.record.field.DateField" in the quick fix context menu.

    I think this probably isn't enough to recreate the issue though since it most often works. But maybe the stack trace can give some indication what's wrong?

    Thanks,
    Viktor
  • Followers
     
    Ico-users Mirko Stocker (Assigned To) , Iulian Dragos , hedefalk 
     
    Attachments
    No attachments
    Associations
     
    No associations
    Activity
     
    User picture

          on Feb 03, 2012 @ 10:40pm UTC * By Mirko Stocker

    Status changed from New to Accepted
    Thanks for reporting, I'll take a look at it ASAP.
    User picture

          on Feb 08, 2012 @ 07:58am UTC * By Mirko Stocker

    Status changed from Accepted to Fixed
    I couldn't reproduce it, but you were right that the stack trace indicated a problem.. the fix will be in the next nightly build. If the error still happens, please reopen.
    Time Expenditure
    Loading