Chromium代码里编写定制的clang插件做C++函数的静态样式检查

commit80f54dc1ab629289946237227e5706e19b7e7594

authordcheng Wed Jan 07 19:13:49 2015

committerCommit bot Wed Jan 07 19:15:28 2015

Implement the Clang plugin as a RecursiveASTVisitor.

The current ASTConsumer class checker can be non-deterministic
in its class verification. The exact reason isn‘t clear, but it‘s
kind of nice to have a deterministic checker.

Using RecursiveASTVisitor also makes it easier to write more
interesting checks if needed in the future, since it also visits
statements, etc. Since the RecursiveASTVisitor implementation
catches strictly more things than the ASTConsumer version, it‘s
gated behind a flag. This flag/the legacy ASTConsumer version
will be removed once Chromium code can compile cleanly with the
AST visitor.

BUG=436357

Review URL: https://codereview.chromium.org/751233002

Cr-Commit-Position: refs/heads/[email protected]{#310331}

使用clang插件做静态检查

时间: 2024-07-30 20:59:08

Chromium代码里编写定制的clang插件做C++函数的静态样式检查的相关文章

Sublime Text 3插件之Emmet:HTML/CSS代码快速编写神器

一.快速编写HTML代码 1.  初始化 HTML文档需要包含一些固定的标签,比如<html>.<head>.<body>等,现在你只需要1秒钟就可以输入这些标签.比如输入“!”或“html:5”,然后按Tab键: html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html:4s:用于HTML4严格文档类型 2.  轻松添加类.id.文本和属性 连续输入元素名称和ID,Emmet会自动为你补全,比如p.bar#foo,会自动生成:

[转]基于clang插件的一种iOS包大小瘦身方案

转自:http://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112856&idx=1&sn=b2c74c62a10b4c9a4e7538d1ad7eb739 iOS包瘦身,对于一般团队来说并不是优化的首要目标,但是对于一些安装包已经超限的团队来说非常关键.微信和阿里移动安全都分享过相关的内容,后者采用的是去除无用代码的思路,感兴趣的同学可以阅读: iOS瘦身之删除无用的mach-O文件 而本文则将这个思路发挥到了极致,欢迎

(转)Unity3d UnityEditor编辑器定制和开发插件

在阅读本教程之前,你需要对Unity的操作流程有一些基础的认识,并且最好了解内置的GUI系统如何使用. 如何让编辑器运行你的代码 Unity3D可以通过事件触发来执行你的编辑器代码,但是我们需要一些编译器参数来告知编译器何时需要触发该段代码.[MenuItem(XXX)]声明在一个函数上方,告知编译器给Unity3D编辑器添加一个菜单项,并且当点击该菜单项的时候调用该函数.触发函数里可以编写任何合法的代码,可以是一个资源批处理程序,也可以弹出一个编辑器窗口.代码里可以访问到当前选中的内容(通过S

【转载】Unity3d UnityEditor编辑器定制和开发插件

在阅读本教程之前,你需要对Unity的操作流程有一些基础的认识,并且最好了解内置的GUI系统如何使用. 如何让编辑器运行你的代码 Unity3D可以通过事件触发来执行你的编辑器代码,但是我们需要一些编译器参数来告知编译器何时需要触发该段代码.[MenuItem(XXX)]声明在一个函数上方,告知编译器给Unity3D编辑器添加一个菜单项,并且当点击该菜单项的时候调用该函数.触发函数里可以编写任何合法的代码,可以是一个资源批处理程序,也可以弹出一个编辑器窗口.代码里可以访问到当前选中的内容(通过S

使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)

使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) Note 这一章节的内容是基于 Scott Gonzalez 一篇博客 Building Stateful jQuery Plugins(已获作者许可) 虽然大多数的 jQuery 插件都是无状态的(stateless),也就是说, 与插件进行交互的就限于调用插件时的那一组对象, 但是有好大一部分功能需求没办法通过这种简单的插件模式来实现. 为了填补这一空白,jQuery UI 实现一套

如何实现Windows Phone代码与Unity相互通信(插件方式)

一些废话 原文地址: http://imwper.com/unity/petto/%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0windows-phone%E4%BB%A3%E7%A0%81%E4%B8%8Eunity%E7%9B%B8%E4%BA%92%E9%80%9A%E4%BF%A1%EF%BC%88%E6%8F%92%E4%BB%B6%E6%96%B9%E5%BC%8F%EF%BC%89.html 我的博客迁到这里了www.imwper.com,以后我的所有技术

第六章_编写定制标签

6.1.定制标签概述 利用jsp标准动作指令访问和操作javaBeans,是首次尝试将表现代码和业务逻辑实现分离.但是,标准动作指令的功能不够强大,单独使用时,开发者经常要使用jsp页面中的java代码.例如,标准动作指令无法像jstl的forEach标签那样迭代集合. 认识到了用javabean分离表现逻辑和业务逻辑的不足之处之后,jsp1.1就定义了定制标签.定制标签具有javaBeans所没有的优势.例如,定制标签可以访问jsp隐式对象,可以带有属性等. 6.2.简单的标签处理器 在jsp

如何使用 require.js ,实现js文件的异步加载,避免网页失去响应,管理模块之间的依赖性,便于代码的编写和维护。

一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代码,相信很多人都见过. 1 <script src="1.js"></script> 2 <script src="2.js"></script> 3 <script src="3.js">

你的专属定制——JQuery自定义插件

    前  言 絮叨絮叨 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. 那么这次,我就和大家来分享一下JQuery中的一个强大的功能--自