aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java
Commit message (Collapse)AuthorAge
* Some simplifications for package serialization.Gravatar cpeyser2018-01-30
| | | | PiperOrigin-RevId: 183842057
* Add a way for BaseCodecs to register association with subtypesGravatar brandjon2018-01-18
| | | | | | Also add accessor to SkylarkInfo for the custom error message, and expose its concrete implementation classes for the benefit of reflection. PiperOrigin-RevId: 182443146
* Encapsulate SkylarkInfo layouts in a classGravatar brandjon2018-01-12
| | | | | | | | | This avoids invalid layouts (non-sequential map values), and provides better separation between a layout's representation as a map and its view as a list. Also removed a factory method that's unnecessary, now that the plan is not to closely tie SkylarkInfo to SkylarkProvider. RELNOTES: None PiperOrigin-RevId: 181807071
* Move custom err msg functionality from Info to SkylarkInfoGravatar brandjon2018-01-11
| | | | | | | Info objects no longer store a string pointer for their error message format, which is almost always the same as the one specified by their provider type. Only map-based SkylarkInfo used this (for fancy built-in structs like ctx.attr), so the field is pushed down to there. RELNOTES: None PiperOrigin-RevId: 181654641
* Refactor SkylarkInfo constructorsGravatar brandjon2018-01-11
| | | | | | | | | - Info now has one protected constructor. (Would've preferred the builder pattern, but inheritance makes it much more verbose.) - Direct SkylarkInfo subclass access is replaced by factory methods and an isCompact() accessor. - Added/simplified tests RELNOTES: None PiperOrigin-RevId: 181616757
* Info-related cleanupsGravatar brandjon2018-01-10
| | | | | | | | | - Reorder Info methods for consistency with ClassObject - "StructConstructor" -> "StructProvider" - Added javadoc RELNOTES: None PiperOrigin-RevId: 181469643
* Rename some ClassObject/Provider-related methodsGravatar brandjon2017-12-28
| | | | | | | The terminology "field" is preferred over "key" for the components of a struct or struct-like object. RELNOTES: None PiperOrigin-RevId: 180269374
* Remove unused Info constructor argGravatar brandjon2017-12-08
| | | | | RELNOTES: None PiperOrigin-RevId: 178408662
* Shape sharing for Skylark providers.Gravatar Benjamin Peterson2017-11-27
| | | | | | | | | | Add CompactSkylarkInfo, which stores its values as an array instead of a map. The space savings will probably not be dramatic because providers usually have a limited amount of keys. But, there are a lot of them! Change-Id: Idd452a5e3982f773b1c5202c73f3d7031ec022c6 PiperOrigin-RevId: 176995376
* Split Info into SkylarkInfo and NativeInfo.Gravatar dslomov2017-08-22
Prerequisite to implementing shape-declaration and shape-sharing for declared providers, and cleaning up NativeInfo interface. RELNOTES: None. PiperOrigin-RevId: 166057070