)]}'
{
  "commit": "dafaaeb4b9e20305a082f2a50ec1354845ffd8b9",
  "tree": "d59105f4c0edcb4300b00d70820f304bd0fc0c99",
  "parents": [
    "f301a34a509e8ce0922c8fa499ab6bd763951815"
  ],
  "author": {
    "name": "gwt.team.mmendez",
    "email": "gwt.team.mmendez@8db76d5a-ed1c-0410-87a9-c151d255dfc7",
    "time": "Fri Nov 09 19:39:56 2007 +0000"
  },
  "committer": {
    "name": "gwt.team.mmendez",
    "email": "gwt.team.mmendez@8db76d5a-ed1c-0410-87a9-c151d255dfc7",
    "time": "Fri Nov 09 19:39:56 2007 +0000"
  },
  "message": "The attached patch finishes up the Java 1.5 support in the TypeOracle.  The patch makes the following changes:\n\n* Implemented the functionality missing from the JDelegatingClassType subtypes.\n* Enabled erasure and type parameter substitution for JRawType and JParameterizedType respectively.  This means that List\u003cInterger\u003e is a full blown JClassType where every reference to its type parameter has been replaced with Integer.\n* JParameterizedTypes and JWildcard types now have referential stability.\n* Added test cases for the new functionality.\n* Added support for enumerated types\n* Implemented a wildcard capture type scheme that allows us to reasonably determine the set of subtypes of a parameterized type since this is technically an unbounded set.  For example, the subtypes List\u003cInteger\u003e could actually be parameterized types like  MyList\u003c? extends Serializable, Integer\u003e and so on.\n* Fixes a bug in our Annotation proxy; we failed to implement the Annotation.annotationType() method.\n* Fixed a problem with annotations.  Specifically, JLS3 9.7, single element array values do not need curly braces\n* Other minor issues with our JDT mapping\n\nIssues outstanding:\n* Subtype and assignability checks may still not deal with all of the corner cases.\n* The TypeOracle\u0027s refresh logic needs to be update to properly flush generics and parameterized types are out of date.\n\nPatch by: mmendez\nReview by: scottb (TBR)\n\ngit-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1523 8db76d5a-ed1c-0410-87a9-c151d255dfc7\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "47fd2208768632f8a27884848b18d5dbd571c26c",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/AbstractMembers.java"
    },
    {
      "type": "modify",
      "old_id": "2d7631c747e8ab622d3d16ddb695a14675f5c54e",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/Annotations.java",
      "new_id": "e90fa74a4d0c11cc9897b81b93c7443197f431a3",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/Annotations.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2502013c7f072aa118d8a878c505cd8e5b2542ee",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/DelegateMembers.java"
    },
    {
      "type": "modify",
      "old_id": "be5ebca2cdebe591b195cd594d47c69d4eef72f3",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JAbstractMethod.java",
      "new_id": "e7f8b985e1761c887a51de8bef91d4634bf249b8",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JAbstractMethod.java"
    },
    {
      "type": "modify",
      "old_id": "a206c4b96cfb2e56f8221c51c07b8a7ad9145d66",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JArrayType.java",
      "new_id": "d2f3ba74477def7d0d0e8529fbc2f5b6a1c951c9",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JArrayType.java"
    },
    {
      "type": "modify",
      "old_id": "a59fc01fb068ada8fdb301f12b6d6246c994aac8",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JBound.java",
      "new_id": "b9f61414aa9f30bd3d960e33b5858ca7c87014c1",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JBound.java"
    },
    {
      "type": "modify",
      "old_id": "276a17938680158e750a03a4e9a397ba79c99707",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JClassType.java",
      "new_id": "359bc04f8efd526953805f430a9b812adcd48068",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JClassType.java"
    },
    {
      "type": "modify",
      "old_id": "feb204481d14674bc8b81383a81844e9e2519e1b",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JConstructor.java",
      "new_id": "504eaa3afda6cbc3b530d16ebc00fdcb66c69dd9",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JConstructor.java"
    },
    {
      "type": "modify",
      "old_id": "29df9df913f66d6d81f7fa68f6c3629311938a61",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JDelegatingClassType.java",
      "new_id": "e42165855e56b4a63752ccc40df20dc5f2f7ba57",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JDelegatingClassType.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf35f88ca10576f2738950d56a76acfe0e14207b",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JEnumConstant.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c91f14bfe0b729311383292cab611943199d329e",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JEnumType.java"
    },
    {
      "type": "modify",
      "old_id": "d8d920ebc6ab0ced10b3b310b763bf416ca768b6",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JField.java",
      "new_id": "f7ce1d7e2c6dc665e250db51b6c2737e4612cabd",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JField.java"
    },
    {
      "type": "modify",
      "old_id": "d5dda07e2ea3cef9baf17f3b03cee40a3386fd3f",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JGenericType.java",
      "new_id": "533f07483976cc795db400627bb7cbb748856997",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JGenericType.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "111bfa99231047f8a7f865ca3b27ef6da11fbd8a",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JLowerBound.java"
    },
    {
      "type": "modify",
      "old_id": "6afd46fdb39318153939c0f65e1491941e0d285c",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JMethod.java",
      "new_id": "bef2f11dc9d5b3503deb27a67750cae56d3df2c8",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JMethod.java"
    },
    {
      "type": "modify",
      "old_id": "07aaaf1b970d224254849484c6b2b85f70f76e09",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JParameter.java",
      "new_id": "bf4b2b2a84614fc5acbded30a0d6c0195c498a06",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JParameter.java"
    },
    {
      "type": "modify",
      "old_id": "46f375a7a9b6833465d4228710e15aa01daa5a67",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JParameterizedType.java",
      "new_id": "ad0a18ff989fe4d6ff9e67ddc11f1a7793ff89a0",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JParameterizedType.java"
    },
    {
      "type": "modify",
      "old_id": "fbbb82c3ff37882af52ee48930ccb119f129909d",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java",
      "new_id": "2d1e9ce0be634b1f9c277d08136d215caaf7d819",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java"
    },
    {
      "type": "modify",
      "old_id": "a4acecaa84a43ad998bb513901c3b0e95f8f9797",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JRawType.java",
      "new_id": "2d207e27a88bc6090cf982822d5743582f18fe39",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JRawType.java"
    },
    {
      "type": "modify",
      "old_id": "c0c84d3d94c948d5de251fc3e9bb14aa52099de5",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JRealClassType.java",
      "new_id": "74da5eada73bf7245b571ba487de46d7a08269ab",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JRealClassType.java"
    },
    {
      "type": "modify",
      "old_id": "2ed4aad49f32bb428984eb5051b9b5d1d50dcf43",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JType.java",
      "new_id": "c16d62ce35117f3692875b074ef70ceb4371c1d4",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JType.java"
    },
    {
      "type": "modify",
      "old_id": "cfea518eb2ecd52bbf9eafd4eed2119d5e06f302",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JTypeParameter.java",
      "new_id": "58cb21d70e60e079a194fd1448c9e41042a7e080",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JTypeParameter.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3762cd9435f74a97cfe9fd70772069662ef2bda8",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JUpperBound.java"
    },
    {
      "type": "modify",
      "old_id": "2cece8ad644d805095e34b09367dc3c62d3db7e7",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JWildcardType.java",
      "new_id": "580e9669c6ed35af3fea17a413343abafa28137d",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/JWildcardType.java"
    },
    {
      "type": "modify",
      "old_id": "f77b78e169d414b84f337293fa4e4294bd3e1ebe",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/Members.java",
      "new_id": "7ff2d8b381bbb7d370f8d1680187059cda942edb",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/Members.java"
    },
    {
      "type": "modify",
      "old_id": "92fb5bae3e208c9fd1a9822271fb474646ac8f1d",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/MetaData.java",
      "new_id": "dd4adaf2e095158ec979632ff66ab1575530c1da",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/MetaData.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9df50498db93e8b1299dc9565841b3a1ea06dc8",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/Substitution.java"
    },
    {
      "type": "modify",
      "old_id": "d657e716b4148dc64a854edb0dd9d143f874e9e3",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java",
      "new_id": "dab0a9e28c3b2ffc16ce269df2b8b2e3bad78114",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java"
    },
    {
      "type": "modify",
      "old_id": "79b2f4ea3938e99cbd13148ca4f4e531601fd652",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jdt/AnnotationProxyFactory.java",
      "new_id": "c93536a4059799b3810396208b25239834124ef0",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jdt/AnnotationProxyFactory.java"
    },
    {
      "type": "modify",
      "old_id": "904f5d559d1d6ae1797f3aa7621160a2210e15d9",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jdt/TypeOracleBuilder.java",
      "new_id": "4e84999d3a82a9491c61c2fe37124dbff7b40a49",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jdt/TypeOracleBuilder.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8f7c82961edca78fa453d622fa09e1e8800f35aa",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JArrayTypeTest.java"
    },
    {
      "type": "modify",
      "old_id": "26a3cf8178543f073a89a320abf26866a340e1fb",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JClassTypeTest.java",
      "new_id": "462da59da3f42e95f8e9d39323c3900f14a661b6",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JClassTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f36935df1f978a511f4d887c11c0695a1855d9f9",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JDelegatingClassTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fdc1b38f80686074cdc31dfb52d4c46b95cbca75",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JEnumTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c0543877a838d669a94d037382351a8d05962f5d",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JGenericTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "50a06c4b870db3c7fc51f57fc9a950dc14ad832b",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JParameterizedTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1f4425f110f7e717c5ae022887389dd64a4f1bb",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JRawTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0fb9438a1b815d4d9c1db2d80531626802eeee1a",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JTypeParameterTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "becea26872635c0be45e4992a76a34a0fe7c3424",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/JWildcardTypeTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "acb8b2f40251611b302b61f9af2fa2327d48056f",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/ModuleContext.java"
    },
    {
      "type": "modify",
      "old_id": "d1b4f9398a90f53c91176bf1f92e785383dd7bca",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleGenericsSupportTest.java",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleGenericsSupportTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "307e7da0cd47808f73282b6c9b067f59bb78e1a4",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/TypeOracleSuite.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8300078c13f6b6f70d62b5f78568f9804e1ebc0e",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/Base.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1cf20c733fd37130db82fc5308c61bb4ed4c4fc3",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/Derived.java"
    },
    {
      "type": "modify",
      "old_id": "085a567df063f4fdb56d69840d23adab71ca1b6b",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/GenericClass.java",
      "new_id": "047b3afb2b6b7e18219f8a1ecf103972aa0431d0",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/GenericClass.java"
    },
    {
      "type": "modify",
      "old_id": "056313aef05b6034ab1396337d3fe7e3651d70ab",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/GenericSubclass.java",
      "new_id": "23187a61a2051867495ec4215a1ea257b34da0d4",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/GenericSubclass.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53ce7edc1fcf6400d9fe13ba4544eb958da6e774",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/MyCustomList.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d7034613475f9fda0e2d2c6e1635e8fb7b4d719d",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/MyEnum.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d1e559b299ccceba98ca4682be33615a93bd830",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/MyIntegerList.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "94fa2f11137f16ca2e584dd750859623ec2db63b",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/MyList.java"
    },
    {
      "type": "modify",
      "old_id": "44413a415bfa070d755e1e41b42b412b24dacd00",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/NonGenericSubclass.java",
      "new_id": "03f98fb521a8863ed32a3725c3e61f1f5796057c",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/core/ext/typeinfo/test/NonGenericSubclass.java"
    }
  ]
}
