org.eclipse.jdt.core.dom.CreationReference Java Examples
The following examples show how to use
org.eclipse.jdt.core.dom.CreationReference.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CompilationUnitBuilder.java From j2cl with Apache License 2.0 | 6 votes |
/** * Converts method reference expressions of the forms: * * <p> * * <pre> * A[]::new into (size) -> new A[size] * A:new into (par1, ..., parN) -> new A(par1, ..., parN) * </pre> */ private Expression convert(CreationReference expression) { ITypeBinding expressionTypeBinding = expression.getType().resolveBinding(); MethodDescriptor functionalMethodDescriptor = JdtUtils.createMethodDescriptor( expression.resolveTypeBinding().getFunctionalInterfaceMethod()); // There are 3 flavors for CreationReferences: 1) array creations, 2) unqualified // constructors, and 3) implicitly qualified constructors. // If the expression does not resolve, it is an array creation. SourcePosition sourcePosition = getSourcePosition(expression); if (expression.resolveMethodBinding() == null) { return createArrayCreationLambda( functionalMethodDescriptor, (ArrayTypeDescriptor) JdtUtils.createTypeDescriptor(expressionTypeBinding), sourcePosition); } MethodDescriptor targetConstructorMethodDescriptor = JdtUtils.createMethodDescriptor(expression.resolveMethodBinding()); return createInstantiationLambda( functionalMethodDescriptor, targetConstructorMethodDescriptor, null, sourcePosition); }
Example #2
Source File: CompilationUnitBuilder.java From j2cl with Apache License 2.0 | 4 votes |
private Expression convert(org.eclipse.jdt.core.dom.Expression expression) { switch (expression.getNodeType()) { case ASTNode.ARRAY_ACCESS: return convert((org.eclipse.jdt.core.dom.ArrayAccess) expression); case ASTNode.ARRAY_CREATION: return convert((org.eclipse.jdt.core.dom.ArrayCreation) expression); case ASTNode.ARRAY_INITIALIZER: return convert((org.eclipse.jdt.core.dom.ArrayInitializer) expression); case ASTNode.ASSIGNMENT: return convert((org.eclipse.jdt.core.dom.Assignment) expression); case ASTNode.BOOLEAN_LITERAL: return convert((org.eclipse.jdt.core.dom.BooleanLiteral) expression); case ASTNode.CAST_EXPRESSION: return convert((org.eclipse.jdt.core.dom.CastExpression) expression); case ASTNode.CHARACTER_LITERAL: return convert((org.eclipse.jdt.core.dom.CharacterLiteral) expression); case ASTNode.CLASS_INSTANCE_CREATION: return convert((org.eclipse.jdt.core.dom.ClassInstanceCreation) expression); case ASTNode.CONDITIONAL_EXPRESSION: return convert((org.eclipse.jdt.core.dom.ConditionalExpression) expression); case ASTNode.EXPRESSION_METHOD_REFERENCE: return convert((org.eclipse.jdt.core.dom.ExpressionMethodReference) expression); case ASTNode.CREATION_REFERENCE: return convert((org.eclipse.jdt.core.dom.CreationReference) expression); case ASTNode.TYPE_METHOD_REFERENCE: return convert((org.eclipse.jdt.core.dom.TypeMethodReference) expression); case ASTNode.SUPER_METHOD_REFERENCE: return convert((org.eclipse.jdt.core.dom.SuperMethodReference) expression); case ASTNode.FIELD_ACCESS: return convert((org.eclipse.jdt.core.dom.FieldAccess) expression); case ASTNode.INFIX_EXPRESSION: return convert((org.eclipse.jdt.core.dom.InfixExpression) expression); case ASTNode.INSTANCEOF_EXPRESSION: return convert((org.eclipse.jdt.core.dom.InstanceofExpression) expression); case ASTNode.LAMBDA_EXPRESSION: return convert((org.eclipse.jdt.core.dom.LambdaExpression) expression); case ASTNode.METHOD_INVOCATION: return convert((org.eclipse.jdt.core.dom.MethodInvocation) expression); case ASTNode.NULL_LITERAL: return NullLiteral.get(); case ASTNode.NUMBER_LITERAL: return convert((org.eclipse.jdt.core.dom.NumberLiteral) expression); case ASTNode.PARENTHESIZED_EXPRESSION: return convert((org.eclipse.jdt.core.dom.ParenthesizedExpression) expression); case ASTNode.POSTFIX_EXPRESSION: return convert((org.eclipse.jdt.core.dom.PostfixExpression) expression); case ASTNode.PREFIX_EXPRESSION: return convert((org.eclipse.jdt.core.dom.PrefixExpression) expression); case ASTNode.QUALIFIED_NAME: return convert((org.eclipse.jdt.core.dom.QualifiedName) expression); case ASTNode.SIMPLE_NAME: return convert((org.eclipse.jdt.core.dom.SimpleName) expression); case ASTNode.STRING_LITERAL: return convert((org.eclipse.jdt.core.dom.StringLiteral) expression); case ASTNode.SUPER_FIELD_ACCESS: return convert((org.eclipse.jdt.core.dom.SuperFieldAccess) expression); case ASTNode.SUPER_METHOD_INVOCATION: return convert((org.eclipse.jdt.core.dom.SuperMethodInvocation) expression); case ASTNode.THIS_EXPRESSION: return convert((org.eclipse.jdt.core.dom.ThisExpression) expression); case ASTNode.TYPE_LITERAL: return convert((org.eclipse.jdt.core.dom.TypeLiteral) expression); case ASTNode.VARIABLE_DECLARATION_EXPRESSION: return convert((org.eclipse.jdt.core.dom.VariableDeclarationExpression) expression); default: throw internalCompilerError( "Unexpected type for Expression: %s", expression.getClass().getName()); } }
Example #3
Source File: CodeBlock.java From SimFix with GNU General Public License v2.0 | 4 votes |
private CreationRef visit(CreationReference node) { int startLine = _cunit.getLineNumber(node.getStartPosition()); int endLine = _cunit.getLineNumber(node.getStartPosition() + node.getLength()); CreationRef creationRef = new CreationRef(startLine, endLine, node); return creationRef; }
Example #4
Source File: ExceptionAnalyzer.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
@Override public boolean visit(CreationReference node) { return handleMethodReference(node); }
Example #5
Source File: GenericVisitor.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
@Override public void endVisit(CreationReference node) { endVisitNode(node); }
Example #6
Source File: GenericVisitor.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
@Override public boolean visit(CreationReference node) { return visitNode(node); }
Example #7
Source File: ImportReferencesCollector.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
@Override public boolean visit(CreationReference node) { doVisitNode(node.getType()); doVisitChildren(node.typeArguments()); return false; }