热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.sonar.plugins.java.api.tree.VariableTree.parent()方法的使用及代码示例

本文整理了Java中org.sonar.plugins.java.api.tree.VariableTree.parent()方法的一些代码示例,展示了Va

本文整理了Java中org.sonar.plugins.java.api.tree.VariableTree.parent()方法的一些代码示例,展示了VariableTree.parent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。VariableTree.parent()方法的具体详情如下:
包路径:org.sonar.plugins.java.api.tree.VariableTree
类名称:VariableTree
方法名:parent

VariableTree.parent介绍

暂无

代码示例

代码示例来源:origin: SonarSource/sonar-java

private List visitVariable(VariableTree variableTree) {
ExpressionTree initializer = variableTree.initializer();
if(initializer != null && !isConstant(variableTree)) {
return Lists.newArrayList(initializer);
}
if(variableTree.parent().is(CATCH)) {
// catch variable are counted as executable lines
new ExecutableLinesTokenVisitor().scanTree(variableTree);
}
return Collections.emptyList();
}

代码示例来源:origin: org.sonarsource.java/java-frontend

private List visitVariable(VariableTree variableTree) {
ExpressionTree initializer = variableTree.initializer();
if(initializer != null && !isConstant(variableTree)) {
return Lists.newArrayList(initializer);
}
if(variableTree.parent().is(CATCH)) {
// catch variable are counted as executable lines
new ExecutableLinesTokenVisitor().scanTree(variableTree);
}
return Collections.emptyList();
}

代码示例来源:origin: SonarSource/sonar-java

public void checkVariableTypeAndInitializer(VariableTree variableTree) {
ExpressionTree initializer = variableTree.initializer();
if ((variableTree.symbol().owner().isMethodSymbol() && !variableTree.parent().is(Tree.Kind.LAMBDA_EXPRESSION))
|| (initializer != null && (initializer.is(Tree.Kind.LAMBDA_EXPRESSION) || isAnonymousClass(initializer)))) {
matchFunctionalInterface((variableTree.symbol().type())).ifPresent(reportString -> {
TypeTree variableType = variableTree.type();
reportIssue(variableType, reportMessage(new InterfaceTreeAndStringPairReport(reportString, variableType)));
});
}
}

代码示例来源:origin: org.sonarsource.java/java-checks

public void checkVariableTypeAndInitializer(VariableTree variableTree) {
ExpressionTree initializer = variableTree.initializer();
if ((variableTree.symbol().owner().isMethodSymbol() && !variableTree.parent().is(Tree.Kind.LAMBDA_EXPRESSION))
|| (initializer != null && (initializer.is(Tree.Kind.LAMBDA_EXPRESSION) || isAnonymousClass(initializer)))) {
matchFunctionalInterface((variableTree.symbol().type())).ifPresent(reportString -> {
TypeTree variableType = variableTree.type();
reportIssue(variableType, reportMessage(new InterfaceTreeAndStringPairReport(reportString, variableType)));
});
}
}

代码示例来源:origin: SonarSource/sonar-java

/**
* @see JLS8 4.12.5 for details
*/
private void executeVariable(VariableTree variableTree, @Nullable Tree terminator) {
Symbol variableSymbol = variableTree.symbol();
if (variableTree.initializer() == null) {
SymbolicValue sv = null;
if (terminator != null && terminator.is(Tree.Kind.FOR_EACH_STATEMENT)) {
sv = constraintManager.createSymbolicValue(variableTree);
if (isAnnotatedNonNull(variableSymbol)) {
programState = programState.addConstraint(sv, ObjectConstraint.NOT_NULL);
}
} else if (variableTree.parent().is(Tree.Kind.CATCH)) {
sv = handleCatchVariable(variableSymbol.type());
// an exception have been thrown and caught, stack must be cleared
// see notes in JVMS 8 - §6.5. - instruction "athrow"
programState = programState.clearStack();
// exception variable is not null by definition
programState = programState.addConstraint(sv, ObjectConstraint.NOT_NULL);
}
if (sv != null) {
programState = programState.put(variableSymbol, sv);
}
} else {
ProgramState.Pop unstack = programState.unstackValue(1);
programState = unstack.state;
programState = programState.put(variableSymbol, unstack.values.get(0));
}
}

代码示例来源:origin: org.sonarsource.java/java-frontend

/**
* @see JLS8 4.12.5 for details
*/
private void executeVariable(VariableTree variableTree, @Nullable Tree terminator) {
Symbol variableSymbol = variableTree.symbol();
if (variableTree.initializer() == null) {
SymbolicValue sv = null;
if (terminator != null && terminator.is(Tree.Kind.FOR_EACH_STATEMENT)) {
sv = constraintManager.createSymbolicValue(variableTree);
if (isAnnotatedNonNull(variableSymbol)) {
programState = programState.addConstraint(sv, ObjectConstraint.NOT_NULL);
}
} else if (variableTree.parent().is(Tree.Kind.CATCH)) {
sv = handleCatchVariable(variableSymbol.type());
// an exception have been thrown and caught, stack must be cleared
// see notes in JVMS 8 - §6.5. - instruction "athrow"
programState = programState.clearStack();
// exception variable is not null by definition
programState = programState.addConstraint(sv, ObjectConstraint.NOT_NULL);
}
if (sv != null) {
programState = programState.put(variableSymbol, sv);
}
} else {
ProgramState.Pop unstack = programState.unstackValue(1);
programState = unstack.state;
programState = programState.put(variableSymbol, unstack.values.get(0));
}
}

推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
author-avatar
大明白也糊涂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有