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


Java ClassInstanceCreation.getLocationInParent方法代码示例

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


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

示例1: 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

示例2: 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.getLocationInParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。