// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// @dart = 2.9

part of test.method_location;

class ClassInOtherFile {
  ClassInOtherFile();

  method() {}
}

topLevelInOtherFile() {}

  spaceIdentedInOtherFile() {}

	tabIdentedInOtherFile() {}
