title: Unexpected Spock MissingMethodException with File.createTempFile()
body: <p>I have these lines in a <code>given</code> block of a test/feature:</p>
  
  <pre><code>log.debug( "subdir1 |$subdir1| class ${subdir1.class}")
  File.createTempFile​( 'blub', 'odt', subdir1 )
  </code></pre>
  
  <p>The log message is:</p>
  
  <pre><code>2020-01-30 08:34:47,433 - 1404 ms [Test worker] DEBUG core.IndexCreationSpec [core.IndexCreationSpec] $spock_feature_1_26:706 
  subdir1 |/tmp/junit8540540913300320698/subdir1| class class java.io.File
  </code></pre>
  
  <p>But I'm getting the following Spock fail on the <code>createTempFile</code> line:</p>
  
  <blockquote>
    <p>groovy.lang.MissingMethodException: No signature of method: static
    java.io.File.createTempFile​() is applicable for argument types:
    (String, String, File) values: [blub, odt,
    /tmp/junit8540540913300320698/subdir1] Possible solutions:
    createTempFile(java.lang.String, java.lang.String, java.io.File),
    createTempFile(java.lang.String, java.lang.String), createNewFile(),
    createTempDir(), createTempDir(java.lang.String, java.lang.String)</p>
  </blockquote>
  
  <p>This method of <code>File</code> is not one I use very often. There are workarounds to create Files with temporary filenames. But I'm simply baffled by the Spock fail. Is it a Spock failure (i.e. should I submit a bug report)?</p>
  
  <p><strong><em>Update: analysis of string classes</em></strong></p>
  
  <pre><code>def blub = 'blub'
  log.debug( "blub |$blub| class ${blub.class} class2 ${'blub'.class}")
  
  2020-01-30 09:52:34,187 - 1375 ms [Test worker] DEBUG core.IndexCreationSpec [core.IndexCreationSpec] $spock_feature_1_26:709
  blub |blub| class class java.lang.String class2 class java.lang.String
  </code></pre>