当前位置: 首页>>代码示例>>Java>>正文


Java ClassInstanceCreation.getParent方法代码示例

本文整理汇总了Java中org.eclipse.jdt.core.dom.ClassInstanceCreation.getParent方法的典型用法代码示例。如果您正苦于以下问题:Java ClassInstanceCreation.getParent方法的具体用法?Java ClassInstanceCreation.getParent怎么用?Java ClassInstanceCreation.getParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.jdt.core.dom.ClassInstanceCreation的用法示例。


在下文中一共展示了ClassInstanceCreation.getParent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: endVisit

import org.eclipse.jdt.core.dom.ClassInstanceCreation; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
public void endVisit(ClassInstanceCreation instanceCreation) {
	if (instanceCreation.getParent() instanceof ThrowStatement) {
		logger.warn("Ignoring throw statements!");
		return;
	}
	List<?> paramTypes = Arrays.asList(instanceCreation.resolveConstructorBinding().getParameterTypes());
	List<?> paramValues = instanceCreation.arguments();
	Constructor<?> constructor = retrieveConstructor(instanceCreation.getType(),
	                                                 paramTypes, paramValues);
	List<VariableReference> params = convertParams(instanceCreation.arguments(),
	                                               paramTypes);
	VariableReference retVal = retrieveVariableReference(instanceCreation, null);
	retVal.setOriginalCode(instanceCreation.toString());
	ConstructorStatement statement = new ValidConstructorStatement(
	        testCase.getReference(), constructor, retVal, params);
	testCase.addStatement(statement);
}
 
开发者ID:EvoSuite,项目名称:evosuite,代码行数:20,代码来源:TestExtractingVisitor.java

示例2: retrieveVariableReference

import org.eclipse.jdt.core.dom.ClassInstanceCreation; //导入方法依赖的package包/类
private VariableReference retrieveVariableReference(
        ClassInstanceCreation instanceCreation, Class<?> varType) {
	if ((instanceCreation.getParent() instanceof MethodInvocation)
	        || (instanceCreation.getParent() instanceof ClassInstanceCreation)) {
		VariableReference result = new ValidVariableReference(
		        testCase.getReference(),
		        retrieveTypeClass(instanceCreation.getType()));
		nestedCallResults.push(result);
		return result;
	}
	if ((instanceCreation.getParent() instanceof ExpressionStatement)
	        && (instanceCreation.getParent().getParent() instanceof Block)) {
		if (varType == null) {
			varType = retrieveTypeClass(instanceCreation);
		}
		VariableReference varRef = new ValidVariableReference(
		        testCase.getReference(), varType);
		return varRef;
	}
	return retrieveVariableReference(instanceCreation.getParent(), varType);
}
 
开发者ID:EvoSuite,项目名称:evosuite,代码行数:22,代码来源:TestExtractingVisitor.java

示例3: getNodesToDelete

import org.eclipse.jdt.core.dom.ClassInstanceCreation; //导入方法依赖的package包/类
private static ASTNode[] getNodesToDelete(IJavaElement element, CompilationUnit cuNode)
    throws JavaModelException {
  // fields are different because you don't delete the whole declaration but only a fragment of it
  if (element.getElementType() == IJavaElement.FIELD) {
    if (JdtFlags.isEnum((IField) element))
      return new ASTNode[] {
        ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element, cuNode)
      };
    else
      return new ASTNode[] {
        ASTNodeSearchUtil.getFieldDeclarationFragmentNode((IField) element, cuNode)
      };
  }
  if (element.getElementType() == IJavaElement.TYPE && ((IType) element).isLocal()) {
    IType type = (IType) element;
    if (type.isAnonymous()) {
      if (type.getParent().getElementType() == IJavaElement.FIELD) {
        EnumConstantDeclaration enumDecl =
            ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element.getParent(), cuNode);
        if (enumDecl != null && enumDecl.getAnonymousClassDeclaration() != null) {
          return new ASTNode[] {enumDecl.getAnonymousClassDeclaration()};
        }
      }
      ClassInstanceCreation creation =
          ASTNodeSearchUtil.getClassInstanceCreationNode(type, cuNode);
      if (creation != null) {
        if (creation.getLocationInParent() == ExpressionStatement.EXPRESSION_PROPERTY) {
          return new ASTNode[] {creation.getParent()};
        } else if (creation.getLocationInParent()
            == VariableDeclarationFragment.INITIALIZER_PROPERTY) {
          return new ASTNode[] {creation};
        }
        return new ASTNode[] {creation.getAnonymousClassDeclaration()};
      }
      return new ASTNode[0];
    } else {
      ASTNode[] nodes = ASTNodeSearchUtil.getDeclarationNodes(element, cuNode);
      // we have to delete the TypeDeclarationStatement
      nodes[0] = nodes[0].getParent();
      return nodes;
    }
  }
  return ASTNodeSearchUtil.getDeclarationNodes(element, cuNode);
}
 
开发者ID:eclipse,项目名称:che,代码行数:45,代码来源:ASTNodeDeleteUtil.java

示例4: visit

import org.eclipse.jdt.core.dom.ClassInstanceCreation; //导入方法依赖的package包/类
@Override
public final boolean visit(final ClassInstanceCreation node) {
	Assert.isNotNull(node);
	if (node.getParent() instanceof ClassInstanceCreation) {
		final AnonymousClassDeclaration declaration= node.getAnonymousClassDeclaration();
		if (declaration != null)
			visit(declaration);
		return false;
	}
	return super.visit(node);
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:12,代码来源:MoveInstanceMethodProcessor.java

示例5: getNodesToDelete

import org.eclipse.jdt.core.dom.ClassInstanceCreation; //导入方法依赖的package包/类
private static ASTNode[] getNodesToDelete(IJavaElement element, CompilationUnit cuNode) throws JavaModelException {
	// fields are different because you don't delete the whole declaration but only a fragment of it
	if (element.getElementType() == IJavaElement.FIELD) {
		if (JdtFlags.isEnum((IField) element))
			return new ASTNode[] { ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element, cuNode)};
		else
			return new ASTNode[] { ASTNodeSearchUtil.getFieldDeclarationFragmentNode((IField) element, cuNode)};
	}
	if (element.getElementType() == IJavaElement.TYPE && ((IType) element).isLocal()) {
		IType type= (IType) element;
		if (type.isAnonymous()) {
			if (type.getParent().getElementType() == IJavaElement.FIELD) {
				EnumConstantDeclaration enumDecl= ASTNodeSearchUtil.getEnumConstantDeclaration((IField) element.getParent(), cuNode);
				if (enumDecl != null && enumDecl.getAnonymousClassDeclaration() != null)  {
					return new ASTNode[] { enumDecl.getAnonymousClassDeclaration() };
				}
			}
			ClassInstanceCreation creation= ASTNodeSearchUtil.getClassInstanceCreationNode(type, cuNode);
			if (creation != null) {
				if (creation.getLocationInParent() == ExpressionStatement.EXPRESSION_PROPERTY) {
					return new ASTNode[] { creation.getParent() };
				} else if (creation.getLocationInParent() == VariableDeclarationFragment.INITIALIZER_PROPERTY) {
					return new ASTNode[] { creation};
				}
				return new ASTNode[] { creation.getAnonymousClassDeclaration() };
			}
			return new ASTNode[0];
		} else {
			ASTNode[] nodes= ASTNodeSearchUtil.getDeclarationNodes(element, cuNode);
			// we have to delete the TypeDeclarationStatement
			nodes[0]= nodes[0].getParent();
			return nodes;
		}
	}
	return ASTNodeSearchUtil.getDeclarationNodes(element, cuNode);
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:37,代码来源:ASTNodeDeleteUtil.java


注:本文中的org.eclipse.jdt.core.dom.ClassInstanceCreation.getParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。