AI 145911: ADT #1778786: tool to generate stubbed jar file.

This is only a preliminary CL. More will follow but this is
  a good start, with the following caveats:
  What it does:
  - take an input jar, a list of includes, a list of excludes.
  - generate actual Java source for the filtered classes.
  What it doesn't do yet:
  - some more work on filtering inner elements (methods, etc.)
  - properly generate inner classes.
  - hide synthetic fields.
  - some classes body are missing
  - directly generate a stubbed bytecode/jar rather than source.
  I'll likely want to keep the source generator for debugging
  purposes or if we want to integrate with a build system instead.
  - classpath will be changed in the final CL to refer to the external
  ASM lib rather than the project. I need the source for debugging
  rigth now.
  - will review comments before submitting.
  BUG=1778786

Automated import of CL 145911
This commit is contained in:
Raphael Moll
2009-04-13 12:53:34 -07:00
committed by The Android Open Source Project
parent b20c95f355
commit 6c0d467cc2
26 changed files with 2337 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package data;
/**
*
*/
public class TestInnerClass {
private final String mArg;
private class InnerPrivClass {
}
public class InnerPubClass {
}
private static final class InnerStaticClass {
}
public TestInnerClass() {
mArg = null;
}
public TestInnerClass(String arg) {
mArg = arg;
}
public String getArg() {
return mArg;
}
public InnerPubClass getInnerPubClass() {
return new InnerPubClass();
}
}