下面列出了怎么用org.eclipse.jdt.core.dom.BooleanLiteral的API类实例代码及写法,或者点击链接到github查看源代码。
public boolean isBooleanType(final Expression expression) {
if ((expression instanceof BooleanLiteral)) {
return true;
}
if ((expression instanceof SimpleName)) {
final Type declType = this._aSTFlattenerUtils.findDeclaredType(((SimpleName)expression));
if ((declType != null)) {
boolean _matched = false;
boolean _isPrimitiveType = declType.isPrimitiveType();
if (_isPrimitiveType) {
_matched=true;
PrimitiveType.Code _primitiveTypeCode = ((PrimitiveType) declType).getPrimitiveTypeCode();
return Objects.equal(_primitiveTypeCode, PrimitiveType.BOOLEAN);
}
}
}
return false;
}
protected boolean isTypeHolder(Object o) {
if(o.getClass().equals(MethodInvocation.class) || o.getClass().equals(SuperMethodInvocation.class)
|| o.getClass().equals(NumberLiteral.class) || o.getClass().equals(StringLiteral.class)
|| o.getClass().equals(CharacterLiteral.class) || o.getClass().equals(BooleanLiteral.class)
|| o.getClass().equals(TypeLiteral.class) || o.getClass().equals(NullLiteral.class)
|| o.getClass().equals(ArrayCreation.class)
|| o.getClass().equals(ClassInstanceCreation.class)
|| o.getClass().equals(ArrayAccess.class) || o.getClass().equals(FieldAccess.class)
|| o.getClass().equals(SuperFieldAccess.class) || o.getClass().equals(ParenthesizedExpression.class)
|| o.getClass().equals(SimpleName.class) || o.getClass().equals(QualifiedName.class)
|| o.getClass().equals(CastExpression.class) || o.getClass().equals(InfixExpression.class)
|| o.getClass().equals(PrefixExpression.class) || o.getClass().equals(InstanceofExpression.class)
|| o.getClass().equals(ThisExpression.class) || o.getClass().equals(ConditionalExpression.class))
return true;
return false;
}
private BoolLiteral visit(BooleanLiteral node) {
int startLine = _cunit.getLineNumber(node.getStartPosition());
int endLine = _cunit.getLineNumber(node.getStartPosition() + node.getLength());
BoolLiteral literal = new BoolLiteral(startLine, endLine, node);
literal.setValue(node.booleanValue());
AST ast = AST.newAST(AST.JLS8);
Type type = ast.newPrimitiveType(PrimitiveType.BOOLEAN);
literal.setType(type);
return literal;
}
public boolean visit(BooleanLiteral node) {
booleanLiterals.add(node.toString());
if(current.getUserObject() != null) {
AnonymousClassDeclarationObject anonymous = (AnonymousClassDeclarationObject)current.getUserObject();
anonymous.getBooleanLiterals().add(node.toString());
}
return super.visit(node);
}
private void processArgument(Expression argument) {
if(argument instanceof SuperMethodInvocation ||
argument instanceof Name ||
argument instanceof StringLiteral ||
argument instanceof BooleanLiteral ||
(argument instanceof FieldAccess && ((FieldAccess)argument).getExpression() instanceof ThisExpression) ||
(argument instanceof ArrayAccess && invalidArrayAccess((ArrayAccess)argument)) ||
(argument instanceof InfixExpression && invalidInfix((InfixExpression)argument)))
return;
this.arguments.add(argument.toString());
if(current.getUserObject() != null) {
AnonymousClassDeclarationObject anonymous = (AnonymousClassDeclarationObject)current.getUserObject();
anonymous.getArguments().add(argument.toString());
}
}
public boolean instanceOf(Expression expression) {
if(expression instanceof BooleanLiteral || expression instanceof CharacterLiteral || expression instanceof StringLiteral ||
expression instanceof NullLiteral || expression instanceof NumberLiteral || expression instanceof TypeLiteral)
return true;
else
return false;
}
public boolean visit(BooleanLiteral expr) {
/*
* BooleanLiteral: true
false
*/
StyledStringStyler styler = determineDiffStyle(expr, new StyledStringStyler(keywordStyle));
styledString.append(String.valueOf(expr.booleanValue()), styler);
return false;
}
public Expression returnBool(boolean val) {
BooleanLiteral num = ast.newBooleanLiteral(val);
num.setProperty(TYPEBIND_PROP, StructCache.FieldType.BOOLEAN);
return num;
}
@Override
public void endVisit(BooleanLiteral node) {
// Leaf node.
}
@Override
public boolean visit(final BooleanLiteral it) {
this.appendToBuffer(String.valueOf(it.booleanValue()));
return false;
}
@Override
public void endVisit(BooleanLiteral node) {
ITypeBinding typeBinding= node.resolveTypeBinding();
ImmutableTypeVariable2 cv= fTCModel.makeImmutableTypeVariable(typeBinding, node);
setConstraintVariable(node, cv);
}
@Override
public void endVisit(BooleanLiteral node) {
// Leaf node.
}
@Override
public boolean visit(BooleanLiteral node) {
if (node.subtreeMatch(fMatcher, fNodeToMatch))
return matches(node);
return super.visit(node);
}
@Override
public boolean visit(BooleanLiteral node) {
add(fCreator.create(node));
return true;
}
@Override
public void endVisit(BooleanLiteral node) {
endVisitNode(node);
}
@Override
public boolean visit(BooleanLiteral node) {
return visitNode(node);
}
@Override
public boolean visit(BooleanLiteral node) {
return visitLiteral(node);
}
public LiteralObject(Expression expression) {
if(expression instanceof StringLiteral) {
StringLiteral stringLiteral = (StringLiteral)expression;
literalType = LiteralType.STRING;
value = stringLiteral.getLiteralValue();
type = TypeObject.extractTypeObject(stringLiteral.resolveTypeBinding().getQualifiedName());
}
else if(expression instanceof NullLiteral) {
NullLiteral nullLiteral = (NullLiteral)expression;
literalType = LiteralType.NULL;
value = "null";
if(nullLiteral.resolveTypeBinding() != null) {
type = TypeObject.extractTypeObject(nullLiteral.resolveTypeBinding().getQualifiedName());
}
}
else if(expression instanceof NumberLiteral) {
NumberLiteral numberLiteral = (NumberLiteral)expression;
literalType = LiteralType.NUMBER;
value = numberLiteral.getToken();
type = TypeObject.extractTypeObject(numberLiteral.resolveTypeBinding().getQualifiedName());
}
else if(expression instanceof BooleanLiteral) {
BooleanLiteral booleanLiteral = (BooleanLiteral)expression;
literalType = LiteralType.BOOLEAN;
value = Boolean.toString(booleanLiteral.booleanValue());
type = TypeObject.extractTypeObject(booleanLiteral.resolveTypeBinding().getQualifiedName());
}
else if(expression instanceof CharacterLiteral) {
CharacterLiteral characterLiteral = (CharacterLiteral)expression;
literalType = LiteralType.CHARACTER;
value = Character.toString(characterLiteral.charValue());
type = TypeObject.extractTypeObject(characterLiteral.resolveTypeBinding().getQualifiedName());
}
else if(expression instanceof TypeLiteral) {
TypeLiteral typeLiteral = (TypeLiteral)expression;
literalType = LiteralType.TYPE;
value = typeLiteral.getType().toString();
type = TypeObject.extractTypeObject(typeLiteral.resolveTypeBinding().getQualifiedName());
}
this.literal = ASTInformationGenerator.generateASTInformation(expression);
}
public boolean visit(BooleanLiteral expr) {
bindingKeys.add(String.valueOf(expr.booleanValue()));
return false;
}
private void handleExpression(Expression expression) {
if (expression instanceof ArrayAccess) {
visit((ArrayAccess) expression);
} else if (expression instanceof ArrayCreation) {
visit((ArrayCreation) expression);
} else if (expression instanceof ArrayInitializer) {
visit((ArrayInitializer) expression);
} else if (expression instanceof Assignment) {
visit((Assignment) expression);
} else if (expression instanceof BooleanLiteral) {
visit((BooleanLiteral) expression);
} else if (expression instanceof CastExpression) {
visit((CastExpression) expression);
} else if (expression instanceof CharacterLiteral) {
visit((CharacterLiteral) expression);
} else if (expression instanceof ClassInstanceCreation) {
visit((ClassInstanceCreation) expression);
} else if (expression instanceof ConditionalExpression) {
visit((ConditionalExpression) expression);
} else if (expression instanceof FieldAccess) {
visit((FieldAccess) expression);
} else if (expression instanceof InfixExpression) {
visit((InfixExpression) expression);
} else if (expression instanceof InstanceofExpression) {
visit((InstanceofExpression) expression);
} else if (expression instanceof MethodInvocation) {
visit((MethodInvocation) expression);
} else if (expression instanceof NullLiteral) {
visit((NullLiteral) expression);
} else if (expression instanceof NumberLiteral) {
visit((NumberLiteral) expression);
} else if (expression instanceof ParenthesizedExpression) {
visit((ParenthesizedExpression) expression);
} else if (expression instanceof PostfixExpression) {
visit((PostfixExpression) expression);
} else if (expression instanceof PrefixExpression) {
visit((PrefixExpression) expression);
} else if ((expression instanceof QualifiedName)) {
visit((QualifiedName) expression);
} else if (expression instanceof SimpleName) {
visit((SimpleName) expression);
} else if (expression instanceof StringLiteral) {
visit((StringLiteral) expression);
} else if (expression instanceof SuperFieldAccess) {
visit((SuperFieldAccess) expression);
} else if (expression instanceof SuperMethodInvocation) {
visit((SuperMethodInvocation) expression);
} else if (expression instanceof ThisExpression) {
visit((ThisExpression) expression);
} else if (expression instanceof TypeLiteral) {
visit((TypeLiteral) expression);
} else if (expression instanceof VariableDeclarationExpression) {
visit((VariableDeclarationExpression) expression);
}
}
private void handleExpression(Expression expression) {
if (expression instanceof ArrayAccess) {
visit((ArrayAccess) expression);
} else if (expression instanceof ArrayCreation) {
visit((ArrayCreation) expression);
} else if (expression instanceof ArrayInitializer) {
visit((ArrayInitializer) expression);
} else if (expression instanceof Assignment) {
visit((Assignment) expression);
} else if (expression instanceof BooleanLiteral) {
visit((BooleanLiteral) expression);
} else if (expression instanceof CastExpression) {
visit((CastExpression) expression);
} else if (expression instanceof CharacterLiteral) {
visit((CharacterLiteral) expression);
} else if (expression instanceof ClassInstanceCreation) {
visit((ClassInstanceCreation) expression);
} else if (expression instanceof ConditionalExpression) {
visit((ConditionalExpression) expression);
} else if (expression instanceof FieldAccess) {
visit((FieldAccess) expression);
} else if (expression instanceof InfixExpression) {
visit((InfixExpression) expression);
} else if (expression instanceof InstanceofExpression) {
visit((InstanceofExpression) expression);
} else if (expression instanceof MethodInvocation) {
visit((MethodInvocation) expression);
} else if (expression instanceof NullLiteral) {
visit((NullLiteral) expression);
} else if (expression instanceof NumberLiteral) {
visit((NumberLiteral) expression);
} else if (expression instanceof ParenthesizedExpression) {
visit((ParenthesizedExpression) expression);
} else if (expression instanceof PostfixExpression) {
visit((PostfixExpression) expression);
} else if (expression instanceof PrefixExpression) {
visit((PrefixExpression) expression);
} else if ((expression instanceof QualifiedName)) {
visit((QualifiedName) expression);
} else if (expression instanceof SimpleName) {
visit((SimpleName) expression);
} else if (expression instanceof StringLiteral) {
visit((StringLiteral) expression);
} else if (expression instanceof SuperFieldAccess) {
visit((SuperFieldAccess) expression);
} else if (expression instanceof SuperMethodInvocation) {
visit((SuperMethodInvocation) expression);
} else if (expression instanceof ThisExpression) {
visit((ThisExpression) expression);
} else if (expression instanceof TypeLiteral) {
visit((TypeLiteral) expression);
} else if (expression instanceof VariableDeclarationExpression) {
visit((VariableDeclarationExpression) expression);
}
}
/**
* @param node the AST node
* @return array of type constraints, may be empty
* @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.BooleanLiteral)
*/
public ITypeConstraint[] create(BooleanLiteral node) {
return EMPTY_ARRAY;
}