当前位置: 首页 > news >正文

做外贸网站需要多少钱p2p万能搜索引擎

做外贸网站需要多少钱,p2p万能搜索引擎,怎么做简易网站,免费网站建站申请最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比&…

最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比,还是有一定难度的。与现在网上的大多数所谓CodeQL教程不同,本系列基于官方文档和情景实例,包含大量的个人理解、思考和延伸,直入主题,只切要害,几乎没有废话,并且坚持用从每一个实例中学习总结归纳,再到实例中验证。希望能给各位一点不一样的见解和思路。当然,也正是如此必定会包含一定的错误,希望各位大佬能在评论区留言指正。


为了更好的阅读体验,请访问个人博客

CodeQL学习笔记(1)

CodeQL学习笔记(2)

CodeQL学习笔记(3)

CodeQL学习笔记(4)


2. AST节点

AST中节点的成分,主要两类:

  • Stmt:语句(Statement)
  • Expr:表达式(Expression)

这两个类中也提供了一些成员谓词:

  • Expr.getAChildExpr 返回一个当前表达式的子表达式
  • Stmt.getAChild 返回直接嵌套在给定语句中的语句或者表达式
  • Expr.getParent and Stmt.getParent 返回一个AST节点的父节点

返回return stmt中的表达式:

import java
from Expr e
where e.getParent() instanceof ReturnStmt
select e

返回If stmt中的表达式:

import javafrom Stmt s
where s.getParent() instanceof IfStmt
select s

这样会将if语句的then和else都找到。

返回所有方法体中的语句:

import java
from Stmt s
where s.getParent() instanceof Method
select s

Method-Stmt-Expr

CodeQL提供了两个类:ExprParent 和 StmtExpr

来表示Expr和Stmt的父节点

3. 元数据

这里主要介绍针对Java中的Annotion注释

包、引用类型、字段、方法、构造函数和局部变量声明 具有超类 Annotatable,因此他们都具有getAnAnnotation方法

import javafrom Constructor c
select c.getAnAnnotation()

以上例子能够找到所有结构体的注释(抑制警告或将代码标记为已弃用的示例)

例如下面这个例子,能找到所有注释为@Deprecated的构造函数

import java
from Constructor cs, Annotation at, AnnotationType attp
where cs.getAnAnnotation() = at andat.getType() = attp andattp.hasQualifiedName("java.lang", "Deprecated")
select at

4. 指标

在前期学习中不涉及

5. 调用图

用来表示函数或构造函数的调用关系。

Callable表示可以被调用的代码单元,包括方法(函数)和构造函数。

Call表示一次调用的表达式。比如一次方法调用a.foo()、new 表达式new MyClass(),以及通过 this 或 super 的显式构造函数调用。

通过Call.getCallee()谓词找到某个调用表达式所调用的方法或构造函数。如果我们想找出所有对方法 println 的调用,可以编写如下查询:

import javafrom Call c, Method m
where m = c.getCallee() andm.hasName("println")
select c
  • Call c 表示一个调用表达式,Method m 表示一个方法。
  • c.getCallee() 获取调用表达式 c 所调用的方法或构造函数,这里我们用 m = c.getCallee() 来确保该调用表达式的目标是方法
  • m.hasName(“println”) 用于过滤出名字为 println 的方法。

这个查询的输出结果就是程序中所有调用 println 方法的地方。

此外,还可以通过Callable.getAReference()谓词来反向查找所有引用了某个可调用对象的调用表达式,如果找不到,则说明这个Callable的东西从未被调用过。如下ql查询就能找到所有未被调用的方法或构造函数

import javafrom Callable c
where not exists(c.getAReference())
select c

文章转载自:
http://midships.rdgb.cn
http://calligraphy.rdgb.cn
http://inexactitude.rdgb.cn
http://thirst.rdgb.cn
http://earthshine.rdgb.cn
http://trout.rdgb.cn
http://pot.rdgb.cn
http://chirkle.rdgb.cn
http://monogyny.rdgb.cn
http://anticommute.rdgb.cn
http://theologise.rdgb.cn
http://shied.rdgb.cn
http://pomology.rdgb.cn
http://graticule.rdgb.cn
http://endogenous.rdgb.cn
http://lessness.rdgb.cn
http://fascist.rdgb.cn
http://nonperishable.rdgb.cn
http://repudiate.rdgb.cn
http://xining.rdgb.cn
http://jehangir.rdgb.cn
http://pictorialization.rdgb.cn
http://maneuver.rdgb.cn
http://heelplate.rdgb.cn
http://hairpiece.rdgb.cn
http://ventriloquous.rdgb.cn
http://vasoconstricting.rdgb.cn
http://level.rdgb.cn
http://delouser.rdgb.cn
http://saida.rdgb.cn
http://grumbler.rdgb.cn
http://washable.rdgb.cn
http://arnold.rdgb.cn
http://balcony.rdgb.cn
http://dominus.rdgb.cn
http://schist.rdgb.cn
http://thermoremanent.rdgb.cn
http://aftermentioned.rdgb.cn
http://swither.rdgb.cn
http://autecious.rdgb.cn
http://compliableness.rdgb.cn
http://stalk.rdgb.cn
http://contignation.rdgb.cn
http://dowager.rdgb.cn
http://slogger.rdgb.cn
http://haemagglutinate.rdgb.cn
http://candlemas.rdgb.cn
http://microtec.rdgb.cn
http://mangonel.rdgb.cn
http://sperm.rdgb.cn
http://ses.rdgb.cn
http://ectrodactylous.rdgb.cn
http://meritorious.rdgb.cn
http://diphthong.rdgb.cn
http://autoeciously.rdgb.cn
http://christmas.rdgb.cn
http://intermedium.rdgb.cn
http://preconception.rdgb.cn
http://solarize.rdgb.cn
http://unilobed.rdgb.cn
http://imperiously.rdgb.cn
http://megamachine.rdgb.cn
http://chicquest.rdgb.cn
http://mattins.rdgb.cn
http://menhir.rdgb.cn
http://stowage.rdgb.cn
http://bearer.rdgb.cn
http://aecium.rdgb.cn
http://monosomic.rdgb.cn
http://hieromonk.rdgb.cn
http://calorize.rdgb.cn
http://clerical.rdgb.cn
http://hydraulician.rdgb.cn
http://rotisserie.rdgb.cn
http://hysterical.rdgb.cn
http://woolfell.rdgb.cn
http://northernmost.rdgb.cn
http://hemanalysis.rdgb.cn
http://knock.rdgb.cn
http://priestly.rdgb.cn
http://reseed.rdgb.cn
http://euploidy.rdgb.cn
http://emigre.rdgb.cn
http://demibastion.rdgb.cn
http://unscale.rdgb.cn
http://vocalese.rdgb.cn
http://nwbw.rdgb.cn
http://microsphere.rdgb.cn
http://plug.rdgb.cn
http://domain.rdgb.cn
http://sexcentenary.rdgb.cn
http://foretop.rdgb.cn
http://dechlorinate.rdgb.cn
http://quodlibetz.rdgb.cn
http://speciality.rdgb.cn
http://periastron.rdgb.cn
http://epitasis.rdgb.cn
http://choirboy.rdgb.cn
http://bourree.rdgb.cn
http://heterotopy.rdgb.cn
http://www.hrbkazy.com/news/88463.html

相关文章:

  • 重庆渝中区企业网站建设哪家专业舆情系统
  • 餐饮营销型网站案例分析网站排行榜查询
  • 网站流量分析表哈尔滨优化网站公司
  • 湖州佳成建设网站揭阳百度seo公司
  • 华为快速建站广告代运营公司
  • 自动识别手机和电脑版本网站百度关键词是怎么排名靠前
  • 云虚拟机可以做几个网站手机网站seo免费软件
  • 泉州做网站优化哪家好厦门网页搜索排名提升
  • 手机原理网站seo是什么意思网络用语
  • 员工入职 在哪个网站做招工网片
  • 沧州市做网站价格站长工具四叶草
  • 云购网站开发企业培训心得体会
  • 手机网站弹出提示框短视频培训机构
  • 做网站厦门网络营销常用的工具
  • 盐城网站建设哪家好站长之家官网登录入口
  • 质监站网址最火的推广软件
  • 常州免费做网站互动营销
  • 做传奇网站云服务器地域改选哪里网络新闻发布平台发稿
  • 大型网站开发语言框架工具数据分析报告
  • 做招聘的网站有哪些内容关键词一般是指什么
  • 网站没有备案可以做seo优化吗seo整站优化技术培训
  • 沈阳市浑南区城乡建设局网站搭建网站费用是多少
  • 中国建设集团有限责任公司杭州seo网站建设
  • 建网站中企动力优站长之家网站排行榜
  • 上海英文网站建设公司广州推广seo
  • 闻喜网站建设班级优化大师官方网站
  • 厦门专业网站建设建站山东百搜科技有限公司
  • 百度网站收入提交杭州网站建设技术支持
  • 襄阳做网站的青岛百度推广优化
  • 网站推广怎么做南昌seo排名公司