d2553153c2bceedf08075908a4b498e9e783e8f1 |
|
05-Jan-2017 |
cushon <cushon@google.com> |
Remove redundant super type symbols from SourceTypeBoundClass These nodes already have types for super classes and super interfaces, and the symbol can be read from the type. Storing the symbol separately was redundant and made it possible for the two to be out of sync. Also fix a bug where enum superclass types (instead of superinterface types) were set to java.lang.annotation.Enum, which was masked because the symbol information was correct. MOE_MIGRATED_REVID=143618845
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
d3435df28ea1bf96be1ac33ee7813e215c98ab69 |
|
21-Nov-2016 |
cushon <cushon@google.com> |
Canonicalize types in receiver parameters MOE_MIGRATED_REVID=139792591
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
4f0d47545d6c6eb6c7fbdcb19c09fe90088e3f81 |
|
21-Nov-2016 |
cushon <cushon@google.com> |
Fix a type resolution and canonicalization bug Interface and superclass type arguments cannot refer to members of the current type, so any simple name references to member types are not implicitly qualified by the current class. MOE_MIGRATED_REVID=139791656
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
3d2df35d983a31bc7a68e1d76b7c71956f477871 |
|
17-Nov-2016 |
cushon <cushon@google.com> |
Emit MethodParameters attributes MOE_MIGRATED_REVID=139397608
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
86eb6f1c5b02fc461b47602de67551361f9d695f |
|
03-Nov-2016 |
cushon <cushon@google.com> |
Support repeatable annotations Also consolidate handling of annotation meta-information (target, retention, and now repeatable). MOE_MIGRATED_REVID=138010789
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
57c8dbfe42ab7413b1450f74d8f3a19a9f214dec |
|
01-Nov-2016 |
cushon <cushon@google.com> |
Initial implementation of receiver parameters MOE_MIGRATED_REVID=137778383
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
16d4fb60dd03fe84f50a96d42db6180a286fc3db |
|
01-Nov-2016 |
cushon <cushon@google.com> |
Fix scope handling during annotation binding When binding annotations on a class declaration, members of that class are not in scope (e.g. for use as class literals in annotation element values). Keep track of the scope that encloses class declaration in addition to the class member scope, and use the former when binding annotations on the class. MOE_MIGRATED_REVID=137767162
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
ecb791c15008191f75be7a7e747bb387530d16d2 |
|
31-Oct-2016 |
cushon <cushon@google.com> |
Disambiguate type annotations on fields, parameters, and methods Given a declaration like `private @A int x;` or `@A private int x;`, there are three possibilities: * `@A` is a declaration annotation on the field * `@A` is a `TYPE_USE` annotation on the type * `@A` sets `TYPE_USE` _and_ `FIELD` targets, and appears in the bytecode as both a declaration annotation and as a type annotation This can't be determined syntactically -- note that the presence of other modifiers before or after the annotation has no bearing on whether the annotation targets the type or the declaration. So, we wait until constant binding is done, read the `@Target` meta-annotation for each ambiguous annotation, and move it to the appropriate location. MOE_MIGRATED_REVID=137749757
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
3e5b0c401c8d93182e9f0ce6f0de81f7574f5aca |
|
29-Oct-2016 |
cushon <cushon@google.com> |
Initial type annotation support Handle binding of type annotations, evaluation of type annotation arguments, and lowering to bytecode for all type annotations kinds that can appears in headers. Currently type annotations are identified syntactically, we need to read @Target to deal with ambiguous declarations on fields and method return types (e.g. `@A int x;` could be `TYPE_USE` or `FIELD` or both). MOE_MIGRATED_REVID=137566512
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
b0445ae9c37a1fab07fb5f234653e8ea072bf9fc |
|
18-Oct-2016 |
cushon <cushon@google.com> |
Diagnostic improvements Store position information in the AST, and use it to emit better errors during binding. Refactor some passes to be non-static to make it easier to pass context needed to format diagnostics. MOE_MIGRATED_REVID=136492057
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
3088f83b806b82d866d119e344da274105f42821 |
|
11-Oct-2016 |
cushon <cushon@google.com> |
Full JLS 7 annotation handling Support all annotation values including nested annotations and array initializers, and all declaration annotation sites including parameters and methods. MOE_MIGRATED_REVID=135837401
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
4d51bb2c21dffcb267e9b3a3538117adc6009e57 |
|
08-Oct-2016 |
cushon <cushon@google.com> |
Initial annotation binding and writing Includes declaration annotations on fields and classes, and handling of annotation declarations and retentions. Declaration annotations on methods and parameters, as well as class literal and nested annotation values, are not yet supported. MOE_MIGRATED_REVID=135531109
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
bd2b29bb7fd05aed8481ef8342c09c4e88492c88 |
|
07-Oct-2016 |
cushon <cushon@google.com> |
Constant fields Initial constant field handling. Currently only literal values and references to other fields are supported, constant expression evaluation will be added later. Includes class file writing support for additional literal kinds. MOE_MIGRATED_REVID=135506016
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|
4c1981b86b09d9802ce3f773c059c529546048a5 |
|
06-Oct-2016 |
cushon <cushon@google.com> |
Type canonicalization Canonicalize qualified type names so qualifiers are always the declaring class of the qualified type. For example, given: ``` class A<T> { class Inner {} } class B extends A<String> {} ``` The type name `B.Inner` must be canonicalized as `A<String>.Inner` in bytecode. MOE_MIGRATED_REVID=135300804
/external/turbine/java/com/google/turbine/binder/CanonicalTypeBinder.java
|