作者:大明白也糊涂 | 来源:互联网 | 2023-07-15 23:29
本文整理了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 extends Tree> 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 extends Tree> 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));
}
}