Merge commit 'origin/master'
authorMaxim Medvedev <maxim.medvedev@jetbrains.com>
Tue, 14 Sep 2010 08:03:40 +0000 (12:03 +0400)
committerMaxim Medvedev <maxim.medvedev@jetbrains.com>
Tue, 14 Sep 2010 08:03:40 +0000 (12:03 +0400)
Conflicts:
plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/move/MoveGroovyClassHandler.java
plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/move/MoveGroovyClassUtil.java

1  2 
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyFileImpl.java
plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/move/MoveGroovyScriptHandler.java

index 8ca4752426869b2e3d28f11c354cf690205a1b00,35a6f001530c549dc46d14a9603f982be10f8b1f..5e297a3cc60e102b5fd5f05ce28ab4aca6f92c56
@@@ -323,20 -323,20 +323,22 @@@ public class GroovyFileImpl extends Gro
        return ((GrFileStub)stub).isScript();
      }
  
--    Boolean isScript = myScript;
--    if (isScript == null) {
++    if (myScript == null) {
        final GrTopStatement[] topStatements = findChildrenByClass(GrTopStatement.class);
-       isScript = Boolean.FALSE;
 -      isScript = topStatements.length == 0;
++      boolean hasClassDefinitions = false;
++      boolean hasTopStatements = false;
        for (GrTopStatement st : topStatements) {
--        if (!(st instanceof GrTypeDefinition || st instanceof GrImportStatement || st instanceof GrPackageDefinition)) {
--          isScript = Boolean.TRUE;
++        if (st instanceof GrTypeDefinition) {
++          hasClassDefinitions = true;
++        }
++        else if (!(st instanceof GrImportStatement || st instanceof GrPackageDefinition)) {
++          hasTopStatements = true;
            break;
          }
        }
--      myScript = isScript;
++      myScript = hasTopStatements || !hasClassDefinitions;
      }
--
--    return isScript;
++    return myScript;
    }
  
    @Override