| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
RELNOTES[INC]:
`load` is now a language keyword, it cannot be used as an identifier
PiperOrigin-RevId: 160944121
|
|
|
|
|
|
|
|
| |
In both Python 2 and Python 3, the operator // is used for int division.
With Python 3, operator / is for float division.
RELNOTES: None.
PiperOrigin-RevId: 156582262
|
|
|
|
|
|
|
|
|
| |
based on my limited understanding of python syntax, the only things we don't support is //= and **=, but it looks like skylark doesn't support the corresponding infix operators.
RELNOTES[NEW]: add support for the '-=', '*=', '/=', and'%=' operators to skylark. Notably, we do not support '|=' because the semantics of skylark sets are sufficiently different from python sets.
--
MOS_MIGRATED_REVID=123889776
|
|
|
|
|
|
|
|
|
|
|
| |
The headers were modified with
`find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'`
And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan.
The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand.
--
MOS_MIGRATED_REVID=103938715
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101363350
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=93129861
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=91192716
|
|
|
|
|
|
|
| |
RELNOTES: Python 3 keywords are added to the lexer. They cannot be used as identifiers.
--
MOS_MIGRATED_REVID=89301541
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
This CL broke []
*** Original change description ***
Skylark: New error message in the lexer when an unsupported Python keyword is used.
--
MOS_MIGRATED_REVID=88954426
|
|
|
|
|
|
|
| |
is used.
--
MOS_MIGRATED_REVID=88930203
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=88857682
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first meaty cl in a series to refactor the Skylark function call protocol.
1- We introduce a first-class notion of FunctionSignature, that supports positional and named-only arguments, mandatory and optional, default values, type-checking, *stararg and **kwarg;
2- To keep things clean, we distinguish two different kinds of Argument's: Argument.Passed that appears in function calls, and Parameter, that appears in function definitions.
3- We refactor the Parser so it uses this infrastructure, and make minimal changes to MixedModeFunction so that it works with it (but don't actually implement *starparam and **kwparam yet).
4- As we modify FuncallExpression, we ensure that the args and kwargs arguments it passes to the underlying function are immutable, as a prerequisite to upcoming implementation of *starparam and **kwparam as being provided directly from a skylark list or dict.
Further changes under review will take advantage of this FunctionSignature to redo all our function call protocol, to be used uniformly for both UserDefinedFunction's and builtin function. The result will be a simpler inheritance model, with better type-checking, builtin functions that are both simpler and better documented, and many redundant competing functionality-limited codepaths being merged and replaced by something better.
NB: The changes to MixedModeFunction, SkylarkFunction and MethodLibrary are temporary hacks to be done away with in an upcoming CL. The rest is the actual changes.
--
MOS_MIGRATED_REVID=86704072
|
|
--
MOE_MIGRATED_REVID=85702957
|