Commit Graph

9 Commits

Author SHA1 Message Date
extempore 568b5f8877 Two new command line programs in ~/tools: scmp and tokens.
1) scmp: will need a bit more fleshing out to be super useful, but
here is what you can do right now:

  // This means run the given command line first with the options
  // given to p1 and then without, and show the diff in output.
  % tools/scmp --p1 '-no-specialization -nowarn' scalac -Ydebug src/library/scala/Function1.scala

Upcoming features will involve seeing diffs of such things as the
pickled signatures of generated files and the javap disassembly.

2) tokens: tokenizes all the scala files found under any given paths
and prints one token per line.

Example: the five most frequently used tokens under scala/util.

  % tools/tokens src/library/scala/util |sort | uniq -c | sort -r | head -5
   598 ')'
   598 '('
   347 ;
   294 '='
   278 ,

Good to see those parens are balanced.

Example: number of appearances of an identifier called x:

  % tools/tokens src/library/scala/util | grep ^x$ | wc
      137

Way to go, x.  Review by community.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@21644 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-04-21 17:06:59 +00:00
extempore ea02e967ce Added a --bare option to ShowPickled so I can diff signatures without
all the explicit indices blowing any points of similarity.  No review.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20995 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-25 22:09:37 +00:00
extempore 576b0eeee5 Some deprecation patrol and minor cleanups. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20945 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-22 00:16:03 +00:00
extempore 84f2293c7d A variety of changes to partest made in a quest to get it to
reveal the classpaths it is using.  No longer will partest
actively sabotage your efforts to pass -Dpartest.debug=true
by inserting "-Dpartest.debug=" after yours! And etc. Review
by haller (if so inclined.)

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20912 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-17 21:26:02 +00:00
extempore 91abb5601b Rewrote my own submitted code of a year ago from trac and added
scalawhich to the tools dir.  Closes #657.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20889 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-15 21:44:28 +00:00
extempore 30c3d186e5 Some new tools for the tools directory. Everything in this commit
amounts to a yak shaving expedition to enable this, which now works:

  tools/diffPickled scala.Either

and since stability is presently broken you will see the following.
(When it's not broken you will see nothing.)

  541,544c541,544
  < 538,4090: EXTref 3: 539(Left) 2
  < 539,4095: TYPEname 4: Left
  < 540,4101: EXTref 3: 541(Right) 2
  < 541,4106: TYPEname 5: Right
  ---
  > 538,4090: EXTref 3: 539(Right) 2
  > 539,4095: TYPEname 5: Right
  > 540,4102: EXTref 3: 541(Left) 2
  > 541,4107: TYPEname 4: Left

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20888 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-15 20:00:36 +00:00
extempore b326352d56 More work on classpaths. This commit also unbreaks fsc, for
which we must have no test cases at all.  In the short term
there will probably be a few more minor disruptions since with
classpaths constructed a half dozen different ways, achieving
consistency requires flushing out the undocumented accidents
upon which any given island might depend.  Review by community.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20866 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-11 15:10:45 +00:00
extempore d00d0a14f4 Some work on classpaths. This implements the specification
at https://lampsvn.epfl.ch/trac/scala/wiki/Classpath modulo some
minor details which remain to be investigated.  It is not entirely
integrated, and should not involve any behavioral changes.  The
patch also contains a number of small improvements targetting
widely duplicated code.

PathResolver offers a main method.  If run with no arguments it will
output a pile of information about classpath relevant environment vars
and properties.  If given arguments, it will output the classpath
info that any scala runner script would use if given the same args.
There is a wrapper in the tools directory.  Example:

tools/pathResolver -extdirs /foo -sourcepath /bar | egrep "sourcePath|scalaExtDirs"
  scalaExtDirs         = /foo
  sourcePath           = /bar

There is also a (probably temporary) command line option -Ylog-classpath
which will print out the settings.classpath value anytime it changes.
Review by community.

git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20831 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-02-08 22:28:17 +00:00
milessabin d2510e0077 Renamed new bin directory to "tools" to avoid conflict with Eclipse incremental build output directory.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@20615 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
2010-01-20 09:12:10 +00:00