Skip to content

Commit 64c013e

Browse files
committed
Merge branch 'master' into python-iter-str-seq-with-tests
2 parents 4e80abb + 12f264c commit 64c013e

File tree

523 files changed

+19061
-15993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

523 files changed

+19061
-15993
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,3 @@
2121
/codeql/
2222

2323
csharp/extractor/Semmle.Extraction.CSharp.Driver/Properties/launchSettings.json
24-
.vscode

.vscode/.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.json linguist-language=JSON-with-Comments

.vscode/extensions.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3+
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4+
// List of extensions which should be recommended for users of this workspace.
5+
"recommendations": [
6+
"github.vscode-codeql"
7+
],
8+
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
9+
"unwantedRecommendations": []
10+
}

.vscode/tasks.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
// To run a task, select the `Terminal | Run Task...` menu option, and then select the task from
3+
// the list in the dropdown, or invoke the `Tasks: Run Task` command from the command palette/
4+
// To bind a keyboard shortcut to invoke a task, see https://code.visualstudio.com/docs/editor/tasks#_binding-keyboard-shortcuts-to-tasks.
5+
// See https://go.microsoft.com/fwlink/?LinkId=733558
6+
// for the documentation about the tasks.json format
7+
"version": "2.0.0",
8+
"tasks": [
9+
{
10+
"label": "Sync Identical Files",
11+
"type": "process",
12+
// Non-Windows OS will usually have Python 3 already installed at /usr/bin/python3.
13+
"command": "python3",
14+
"args": [
15+
"config/sync-files.py",
16+
"--latest"
17+
],
18+
"group": "build",
19+
"windows": {
20+
// On Windows, use whatever Python interpreter is configured for this workspace. The default is
21+
// just `python`, so if Python is already on the path, this will find it.
22+
"command": "${config:python.pythonPath}",
23+
},
24+
"problemMatcher": []
25+
}
26+
]
27+
}

CODE_OF_CONDUCT.md

Lines changed: 115 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,126 @@
1-
# Code of Conduct
1+
## Our Pledge
22

3-
This code of conduct outlines expectations for participation in the Semmle open source community, including any open source repositories on GitHub.com, as well as steps for reporting unacceptable behavior. We are committed to providing a welcoming and inspiring community for all.
3+
We as members, contributors, and leaders pledge to make participation in our
4+
community a harassment-free experience for everyone, regardless of age, body
5+
size, visible or invisible disability, ethnicity, sex characteristics, gender
6+
identity and expression, level of experience, education, socio-economic status,
7+
nationality, personal appearance, race, religion, or sexual identity
8+
and orientation.
49

5-
People violating this code of conduct may be banned from the community.
10+
We pledge to act and interact in ways that contribute to an open, welcoming,
11+
diverse, inclusive, and healthy community.
612

7-
Our community strives to:
8-
* Be friendly and patient: Remember you might not be communicating in someone else’s primary spoken or programming language, and others may not have your level of understanding.
9-
* Be welcoming: Our community welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.
10-
* Be respectful: We are a world-wide community of professionals, and we conduct ourselves professionally. Disagreement is no excuse for poor behavior and poor manners. Disrespectful and unacceptable behavior includes, but is not limited to:
11-
* Violent threats or language.
12-
* Discriminatory or derogatory jokes and language.
13-
* Posting sexually explicit or violent material.
14-
* Posting, or threatening to post, people’s personally identifying information (“doxing”).
15-
* Insults, especially those using discriminatory terms or slurs.
16-
* Behavior that could be perceived as sexual attention.
17-
* Advocating for or encouraging any of the above behaviors.
18-
* Understand disagreements: Disagreements, both social and technical, are useful learning opportunities. Seek to understand others’ viewpoints and resolve differences constructively.
13+
## Our Standards
1914

20-
This code is not exhaustive or complete. It serves to capture our common understanding of a productive, collaborative environment. We expect the code to be followed in spirit as much as in the letter.
15+
Examples of behavior that contributes to a positive environment for our
16+
community include:
2117

22-
# Scope
18+
* Demonstrating empathy and kindness toward other people
19+
* Being respectful of differing opinions, viewpoints, and experiences
20+
* Giving and gracefully accepting constructive feedback
21+
* Accepting responsibility and apologizing to those affected by our mistakes,
22+
and learning from the experience
23+
* Focusing on what is best not just for us as individuals, but for the
24+
overall community
2325

24-
This code of conduct applies to all repositories and communities for Semmle open source projects, regardless of whether or not the repository explicitly calls out its use of this code. The code also applies in public spaces when an individual is representing the Semmle open source community. Examples include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
26+
Examples of unacceptable behavior include:
2527

28+
* The use of sexualized language or imagery, and sexual attention or
29+
advances of any kind
30+
* Trolling, insulting or derogatory comments, and personal or political attacks
31+
* Public or private harassment
32+
* Publishing others' private information, such as a physical or email
33+
address, without their explicit permission
34+
* Other conduct which could reasonably be considered inappropriate in a
35+
professional setting
2636

27-
# Reporting Code of Conduct Issues
28-
We encourage members of the community to resolve issues on their own whenever possible. This builds a broader and deeper understanding and ultimately a healthier interaction. In the event that an issue cannot be resolved locally, please feel free to report your concerns by contacting [email protected].
29-
In your report please include:
30-
* Your contact information.
31-
* Names (real, usernames or pseudonyms) of any individuals involved. If there are additional witnesses, please include them as well.
32-
* Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public chat log), please include a link or attachment.
33-
* Any additional information that may be helpful.
37+
## Enforcement Responsibilities
3438

35-
All reports will be reviewed by a multi-person team and will result in a response that is deemed necessary and appropriate to the circumstances. Where additional perspectives are needed, the team may seek insight from others with relevant expertise or experience. The confidentiality of the person reporting the incident will be kept at all times. Involved parties are never part of the review team.
39+
Community leaders are responsible for clarifying and enforcing our standards of
40+
acceptable behavior and will take appropriate and fair corrective action in
41+
response to any behavior that they deem inappropriate, threatening, offensive,
42+
or harmful.
3643

37-
Anyone asked to stop unacceptable behavior is expected to comply immediately. If an individual engages in unacceptable behavior, the review team may take any action they deem appropriate, including a permanent ban from the community.
44+
Community leaders have the right and responsibility to remove, edit, or reject
45+
comments, commits, code, wiki edits, issues, and other contributions that are
46+
not aligned to this Code of Conduct, and will communicate reasons for moderation
47+
decisions when appropriate.
3848

39-
*This text is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) license. It is based on a template established by the [TODO Group](http://todogroup.org/) and variants thereof used by numerous other large communities (e.g., [Microsoft](https://microsoft.github.io/codeofconduct/), [Facebook](https://code.fb.com/codeofconduct/), [Yahoo](https://yahoo.github.io/codeofconduct), [Twitter](https://github.com/twitter/code-of-conduct), [GitHub](https://blog.github.com/2015-07-20-adopting-the-open-code-of-conduct/)) and the Scope section from the [Contributor Covenant version 1.4](http://contributor-covenant.org/version/1/4/).*
49+
## Scope
50+
51+
This Code of Conduct applies within all community spaces, and also applies when
52+
an individual is officially representing the community in public spaces.
53+
Examples of representing our community include using an official e-mail address,
54+
posting via an official social media account, or acting as an appointed
55+
representative at an online or offline event.
56+
57+
## Enforcement
58+
59+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
60+
reported to the community leaders responsible for enforcement at
61+
62+
All complaints will be reviewed and investigated promptly and fairly.
63+
64+
All community leaders are obligated to respect the privacy and security of the
65+
reporter of any incident.
66+
67+
## Enforcement Guidelines
68+
69+
Community leaders will follow these Community Impact Guidelines in determining
70+
the consequences for any action they deem in violation of this Code of Conduct:
71+
72+
### 1. Correction
73+
74+
**Community Impact**: Use of inappropriate language or other behavior deemed
75+
unprofessional or unwelcome in the community.
76+
77+
**Consequence**: A private, written warning from community leaders, providing
78+
clarity around the nature of the violation and an explanation of why the
79+
behavior was inappropriate. A public apology may be requested.
80+
81+
### 2. Warning
82+
83+
**Community Impact**: A violation through a single incident or series
84+
of actions.
85+
86+
**Consequence**: A warning with consequences for continued behavior. No
87+
interaction with the people involved, including unsolicited interaction with
88+
those enforcing the Code of Conduct, for a specified period of time. This
89+
includes avoiding interactions in community spaces as well as external channels
90+
like social media. Violating these terms may lead to a temporary or
91+
permanent ban.
92+
93+
### 3. Temporary Ban
94+
95+
**Community Impact**: A serious violation of community standards, including
96+
sustained inappropriate behavior.
97+
98+
**Consequence**: A temporary ban from any sort of interaction or public
99+
communication with the community for a specified period of time. No public or
100+
private interaction with the people involved, including unsolicited interaction
101+
with those enforcing the Code of Conduct, is allowed during this period.
102+
Violating these terms may lead to a permanent ban.
103+
104+
### 4. Permanent Ban
105+
106+
**Community Impact**: Demonstrating a pattern of violation of community
107+
standards, including sustained inappropriate behavior, harassment of an
108+
individual, or aggression toward or disparagement of classes of individuals.
109+
110+
**Consequence**: A permanent ban from any sort of public interaction within
111+
the community.
112+
113+
## Attribution
114+
115+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
116+
version 2.0, available at
117+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
118+
119+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
120+
enforcement ladder](https://github.com/mozilla/diversity).
121+
122+
[homepage]: https://www.contributor-covenant.org
123+
124+
For answers to common questions about this code of conduct, see the FAQ at
125+
https://www.contributor-covenant.org/faq. Translations are available at
126+
https://www.contributor-covenant.org/translations.

CONTRIBUTING.md

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contributing to CodeQL
22

3-
We welcome contributions to our CodeQL libraries and queries. Got an idea for a new check, or how to improve an existing query? Then please go ahead and open a pull request!
3+
We welcome contributions to our CodeQL libraries and queries. Got an idea for a new check, or how to improve an existing query? Then please go ahead and open a pull request! Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).
44

55
There is lots of useful documentation to help you write queries, ranging from information about query file structure to tutorials for specific target languages. For more information on the documentation available, see [Writing CodeQL queries](https://help.semmle.com/QL/learn-ql/writing-queries/writing-queries.html) on [help.semmle.com](https://help.semmle.com).
66

@@ -47,10 +47,6 @@ If you have an idea for a query that you would like to share with other CodeQL u
4747

4848
- The query must have at least one true positive result on some revision of a real project.
4949

50-
6. **Contributor License Agreement**
51-
52-
- The contributor can satisfy the [CLA](#contributor-license-agreement).
53-
5450
Experimental queries and libraries may not be actively maintained as the [supported](docs/supported-queries.md) libraries evolve. They may also be changed in backwards-incompatible ways or may be removed entirely in the future without deprecation warnings.
5551

5652
After the experimental query is merged, we welcome pull requests to improve it. Before a query can be moved out of the `experimental` subdirectory, it must satisfy [the requirements for being a supported query](docs/supported-queries.md).
@@ -65,33 +61,6 @@ normal course of software development. We also store records of your
6561
CLA agreements. Under GDPR legislation, we do this
6662
on the basis of our legitimate interest in creating the CodeQL product.
6763

68-
Please do get in touch (privacy@semmle.com) if you have any questions about
64+
Please do get in touch (privacy@github.com) if you have any questions about
6965
this or our data protection policies.
7066

71-
## Contributor License Agreement
72-
73-
This Contributor License Agreement (“Agreement”) is entered into between Semmle Limited (“Semmle,” “we” or “us” etc.), and You (as defined and further identified below).
74-
75-
Accordingly, You hereby agree to the following terms for Your present and future Contributions submitted to Semmle:
76-
77-
1. **Definitions**.
78-
79-
* "You" (or "Your") shall mean the Contribution copyright owner (whether an individual or organization) or legal entity authorized by the copyright owner that is making this Agreement with Semmle. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
80-
81-
* "Contribution(s)" shall mean the code, documentation or other original works of authorship, including any modifications or additions to an existing work, submitted by You to Semmle for inclusion in, or documentation of, any of the products or projects owned or managed by Semmle (the "Work(s)"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to Semmle or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Semmle for the purpose of discussing and/or improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."
82-
83-
2. **Grant of Copyright License**. You hereby grant to Semmle and to recipients of software distributed by Semmle a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
84-
85-
3. **Grant of Patent License**. You hereby grant to Semmle and to recipients of software distributed by Semmle a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that Your Contribution, or the Work to which You have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.
86-
87-
4. **Ownership**. Except as set out above, You keep all right, title, and interest in Your Contribution. The rights that You grant to us under this Agreement are effective on the date You first submitted a Contribution to us, even if Your submission took place before the date You entered this Agreement.
88-
89-
5. **Representations**. You represent and warrant that: (i) the Contributions are an original work and that You can legally grant the rights set out in this Agreement; (ii) the Contributions and Semmle’s exercise of any license rights granted hereunder, does not and will not, infringe the rights of any third party; (iii) You are not aware of any pending or threatened claims, suits, actions, or charges pertaining to the Contributions, including without limitation any claims or allegations that any or all of the Contributions infringes, violates, or misappropriate the intellectual property rights of any third party (You further agree that You will notify Semmle immediately if You become aware of any such actual or potential claims, suits, actions, allegations or charges).
90-
91-
6. **Employer**. If Your employer(s) has rights to intellectual property that You create that includes Your Contributions, You represent and warrant that Your employer has waived such rights for Your Contributions to Semmle, or that You have received permission to make Contributions on behalf of that employer and that You are authorized to execute this Agreement on behalf of Your employer.
92-
93-
7. **Inclusion of Code**. We determine the code that is in our Works. You understand that the decision to include the Contribution in any project or source repository is entirely that of Semmle, and this agreement does not guarantee that the Contributions will be included in any product.
94-
95-
8. **Disclaimer**. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Except as set forth herein, and unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
96-
97-
9. **General**. The failure of either party to enforce its rights under this Agreement for any period shall not be construed as a waiver of such rights. No changes or modifications or waivers to this Agreement will be effective unless in writing and signed by both parties. In the event that any provision of this Agreement shall be determined to be illegal or unenforceable, that provision will be limited or eliminated to the minimum extent necessary so that this Agreement shall otherwise remain in full force and effect and enforceable. This Agreement shall be governed by and construed in accordance with the laws of the State of California in the United States without regard to the conflicts of laws provisions thereof. In any action or proceeding to enforce rights under this Agreement, the prevailing party will be entitled to recover costs and attorneys’ fees.

0 commit comments

Comments
 (0)