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


Java ISemanticModification类代码示例

本文整理汇总了Java中org.eclipse.xtext.ui.editor.model.edit.ISemanticModification的典型用法代码示例。如果您正苦于以下问题:Java ISemanticModification类的具体用法?Java ISemanticModification怎么用?Java ISemanticModification使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ISemanticModification类属于org.eclipse.xtext.ui.editor.model.edit包,在下文中一共展示了ISemanticModification类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: removeGuardStatement

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Removes the guard statement occurring at offending position.
 *
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.GUARDS_COME_FIRST)
@SuppressWarnings("unchecked")
public void removeGuardStatement(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckQuickfixProvider_REMOVE_GUARD_LABEL, Messages.CheckQuickfixProvider_REMOVE_GUARD_DESCN, NO_IMAGE, new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) {
      final XGuardExpression guard = EcoreUtil2.getContainerOfType(element, XGuardExpression.class);
      if (guard != null && guard.eContainingFeature().isMany()) {
        EList<? extends EObject> holder = (EList<? extends EObject>) guard.eContainer().eGet(guard.eContainingFeature());
        if (holder != null && holder.contains(guard)) {
          holder.remove(guard);
        }
      }
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:25,代码来源:CheckQuickfixProvider.java

示例2: fixSeverityRangeOrder

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Fixes the severity range order by setting the lower severity level kind first and the severity of higher severity level last.
 *
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.ILLEGAL_SEVERITY_RANGE_ORDER)
public void fixSeverityRangeOrder(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckQuickfixProvider_FIX_SEVERITY_RANGE_ORDER_LABEL, Messages.CheckQuickfixProvider_FIX_SEVERITY_RANGE_ORDER_DESCN, NO_IMAGE, new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) {
      final Check check = EcoreUtil2.getContainerOfType(element, Check.class);
      if (check != null && check.getSeverityRange() != null) {
        final SeverityRange range = check.getSeverityRange();
        SeverityKind oldMinSeverity = range.getMinSeverity();
        range.setMinSeverity(range.getMaxSeverity());
        range.setMaxSeverity(oldMinSeverity);
      }
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:24,代码来源:CheckQuickfixProvider.java

示例3: fixArrayNotDeclared

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(IssueCodes.ARRAY_NOT_DECLARED)
public void fixArrayNotDeclared(final Issue issue, IssueResolutionAcceptor acceptor) {
	acceptor.accept(issue, "Remove vector slices", "Removes vector slices from object", null, new ISemanticModification() {
		@Override
		public void apply(EObject element, IModificationContext context) throws Exception {
			if (element instanceof PinAssign) {
				((PinAssign) element).setSlices(null);
			} else if (element instanceof PortAssign) {
				((PortAssign) element).setSlices(null);
			} else if (element instanceof ConnectionAssign) {
				((ConnectionAssign) element).setSlices(null);
			} else if (element instanceof ConnectionRef) {
				((ConnectionRef) element).setSlices(null);
			}
		}
	});
}
 
开发者ID:timofonic,项目名称:PHDL,代码行数:18,代码来源:PhdlQuickfixProvider.java

示例4: fixMissingRequiredAttribute

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(IssueCodes.REQUIRED_ATTRIBUTE_MISSING)
public void fixMissingRequiredAttribute(final Issue issue, IssueResolutionAcceptor acceptor) {
	acceptor.accept(issue, "Add missing required attribute", "Add missing '" + issue.getData()[0] + "' required attribute.",
			"Attr.gif", new ISemanticModification() {
				@Override
				public void apply(EObject element, IModificationContext context) throws Exception {
					Device device = (Device) element;
					Attr attr = PhdlFactory.eINSTANCE.createAttr();
					attr.setName(issue.getData()[0].toUpperCase());
					if (!issue.getData()[0].equals("REFPREFIX"))
						attr.setValue("my" + issue.getData()[0]);
					else
						attr.setValue("R");
					device.getElements().add(attr);
				}
			});
}
 
开发者ID:timofonic,项目名称:PHDL,代码行数:18,代码来源:PhdlQuickfixProvider.java

示例5: addImportAlias

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(SadlJavaValidator.MISSING_ALIAS)
public void addImportAlias(final Issue issue, IssueResolutionAcceptor acceptor) {
	acceptor.accept(issue, "Add import model alias", "Add an alias for the imported model", null, new ISemanticModification() {
		public void apply(EObject element, IModificationContext context)
				throws Exception {
			String alias = null;
			if (element instanceof com.ge.research.sadl.sadl.Import) {
				String uri = ((com.ge.research.sadl.sadl.Import)element).getImportURI().trim();
				if (uri.endsWith("/")) {
					uri = uri.substring(0, uri.length() - 1);
				}
				int ls = uri.lastIndexOf('/');
				if (ls > 0) {
					alias = uri.substring(ls + 1);
				}
			}
			if (alias == null) {
				alias = "aliasName";
			}
			((com.ge.research.sadl.sadl.Import)element).setAlias(alias);
		}
	});
}
 
开发者ID:crapo,项目名称:sadlos2,代码行数:24,代码来源:SadlQuickfixProvider.java

示例6: addNSQualifier

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(SadlJavaValidator.AMBIGUOUS_NAME)
public void addNSQualifier(final Issue issue, final IssueResolutionAcceptor acceptor) {
	String[] fixes = issue.getData();
	Iterator<String> itr = Splitter.on(",").split(fixes[0]).iterator();
	while (itr.hasNext()) {
		// loop over prefixes
		final String prefix = itr.next();	
		acceptor.accept(issue, prefix, "Add the namespace prefix '" + prefix + "' to disambiguate name", null, new ISemanticModification() {
			public void apply(EObject element, IModificationContext context)
					throws Exception {
				if (element instanceof ResourceByName) {
			    	IXtextDocument xtextDocument = context.getXtextDocument();
			    	if (xtextDocument instanceof XtextDocument) {
			    		int insertAt = issue.getOffset();
			    		xtextDocument.replace(insertAt, issue.getLength(), prefix);
			    	}
				}
			}
		});
	}
}
 
开发者ID:crapo,项目名称:sadlos2,代码行数:22,代码来源:SadlQuickfixProvider.java

示例7: addImportTemplateFix

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
public void addImportTemplateFix(final Issue issue, final IssueResolutionAcceptor acceptor, final String linkText) {
  boolean _notEquals = (!Objects.equal(linkText, null));
  if (_notEquals) {
    final ISemanticModification _function = new ISemanticModification() {
      public void apply(final EObject element, final IModificationContext context) throws Exception {
        if ((element instanceof de.unidue.ecg.characterScript.characterScript.Character)) {
          final Characters root = EcoreUtil2.<Characters>getContainerOfType(element, Characters.class);
          final Import import_ = CharacterScriptFactory.eINSTANCE.createImport();
          import_.setImportedNamespace(linkText);
          EList<Import> _imports = root.getImports();
          _imports.add(import_);
        }
      }
    };
    acceptor.accept(issue, (("Add import for \'" + linkText) + "\'"), (("Add import for \'" + linkText) + "\'"), null, _function);
  }
}
 
开发者ID:RobertWalter83,项目名称:DialogScriptDSL,代码行数:18,代码来源:CharacterScriptQuickfixProvider.java

示例8: removeSuperType

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(EntitiesValidator.HIERARCHY_CYCLE)
public void removeSuperType(final Issue issue, final IssueResolutionAcceptor acceptor) {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("Remove supertype \'");
  String[] _data = issue.getData();
  String _get = _data[0];
  _builder.append(_get, "");
  _builder.append("\' ");
  final ISemanticModification _function = new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) throws Exception {
      ((Entity) element).setSuperType(null);
    }
  };
  acceptor.accept(issue, 
    "Remove supertype", _builder.toString(), 
    "delete_obj.gif", _function);
}
 
开发者ID:LorenzoBettini,项目名称:packtpub-xtext-book-examples,代码行数:19,代码来源:EntitiesQuickfixProvider.java

示例9: createMissingEntity

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(Diagnostic.LINKING_DIAGNOSTIC)
public void createMissingEntity(final Issue issue, final IssueResolutionAcceptor acceptor) {
  final ISemanticModification _function = new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) throws Exception {
      Entity _containerOfType = EcoreUtil2.<Entity>getContainerOfType(element, Entity.class);
      IXtextDocument _xtextDocument = context.getXtextDocument();
      Integer _offset = issue.getOffset();
      Integer _length = issue.getLength();
      String _get = _xtextDocument.get((_offset).intValue(), (_length).intValue());
      EntitiesModelUtil.addEntityAfter(_containerOfType, _get);
    }
  };
  acceptor.accept(issue, 
    "Create missing entity", 
    "Create missing entity", 
    "Entity.gif", _function);
}
 
开发者ID:LorenzoBettini,项目名称:packtpub-xtext-book-examples,代码行数:19,代码来源:EntitiesQuickfixProvider.java

示例10: createMissingEntity

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
@Fix(Diagnostic.LINKING_DIAGNOSTIC)
public void createMissingEntity(final Issue issue, IssueResolutionAcceptor acceptor) {
	acceptor.accept(issue,
		"Create missing entity", // label
		"Create missing entity", // description
		"Entity.gif", // icon
		new ISemanticModification() {
			public void apply(EObject element, IModificationContext context) throws BadLocationException {
				 IXtextDocument xtextDocument = context.getXtextDocument();
				 String missingEntityName = xtextDocument.get(issue.getOffset(), issue.getLength());
				 Entity newEntity = EntitiesFactory.eINSTANCE.createEntity();
				 newEntity.setName(missingEntityName);
				 Entity currentEntity = EcoreUtil2.getContainerOfType(element, Entity.class);
				 Model model = (Model) currentEntity.eContainer();
				 model.getEntities().add(model.getEntities().indexOf(currentEntity)+1, newEntity);
			}
		}
	);
}
 
开发者ID:LorenzoBettini,项目名称:packtpub-xtext-book-examples,代码行数:20,代码来源:EntitiesJavaQuickfixProvider.java

示例11: removeWithClause

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Fixes the circular dependency problem by removing the {@code with} clause.
 *
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.INCLUDED_CATALOGS_WITH_CIRCULAR_DEPENDENCIES)
public void removeWithClause(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckQuickfixProvider_REMOVE_WITH_LABEL, Messages.CheckQuickfixProvider_REMOVE_WITH_DESCN, NO_IMAGE, new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) {
      final CheckCatalog catalog = EcoreUtil2.getContainerOfType(element, CheckCatalog.class);
      if (catalog != null) {
        catalog.eUnset(CheckPackage.Literals.CHECK_CATALOG__INCLUDED_CATALOGS);
      }
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:21,代码来源:CheckQuickfixProvider.java

示例12: removeSeverityRange

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Removes the severity range declaration from the check. Final conflicts with severity range.
 *
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.SEVERITY_RANGES_FOR_FINAL_CHECK)
public void removeSeverityRange(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckQuickfixProvider_REMOVE_SEVERITY_RANGE_LABEL, Messages.CheckQuickfixProvider_REMOVE_SEVERITY_RANGE_DESCN, NO_IMAGE, new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) {
      final Check check = EcoreUtil2.getContainerOfType(element, Check.class);
      if (check != null) {
        check.setSeverityRange(null);
      }
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:21,代码来源:CheckQuickfixProvider.java

示例13: removeDuplicateParameterDefinition

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Removes a duplicate parameter definition.
 *
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.DUPLICATE_PARAMETER_DEFINITION)
public void removeDuplicateParameterDefinition(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckQuickfixProvider_REMOVE_PARAM_DEF_LABEL, Messages.CheckQuickfixProvider_REMOVE_PARAM_DEF_DESCN, null, new ISemanticModification() {
    @Override
    public void apply(final EObject element, final IModificationContext context) {
      Check check = EcoreUtil2.getContainerOfType(element, Check.class);
      check.getFormalParameters().remove(element);
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:19,代码来源:CheckQuickfixProvider.java

示例14: removeDuplicateCatalogConfiguration

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Removes a duplicate catalog configuration.
 * 
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.DUPLICATE_CATALOG_CONFIGURATION)
public void removeDuplicateCatalogConfiguration(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckCfgQuickfixProvider_REMOVE_DUPLICATE_CATALOG_LABEL, Messages.CheckCfgQuickfixProvider_REMOVE_DUPLICATE_CATALOG_DESCN, null, new ISemanticModification() {
    public void apply(final EObject element, final IModificationContext context) {
      CheckConfiguration configuration = EcoreUtil2.getContainerOfType(element, CheckConfiguration.class);
      configuration.getLegacyCatalogConfigurations().remove(element);
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:18,代码来源:CheckCfgQuickfixProvider.java

示例15: removeDuplicateCheckConfiguration

import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification; //导入依赖的package包/类
/**
 * Removes a duplicate check configuration.
 * 
 * @param issue
 *          the issue
 * @param acceptor
 *          the acceptor
 */
@Fix(IssueCodes.DUPLICATE_CHECK_CONFIGURATION)
public void removeDuplicateCheckConfiguration(final Issue issue, final IssueResolutionAcceptor acceptor) {
  acceptor.accept(issue, Messages.CheckCfgQuickfixProvider_REMOVE_DUPLICATE_CHECK_LABEL, Messages.CheckCfgQuickfixProvider_REMOVE_DUPLICATE_CHECK_DESCN, null, new ISemanticModification() {
    public void apply(final EObject element, final IModificationContext context) {
      ConfiguredCatalog catalog = EcoreUtil2.getContainerOfType(element, ConfiguredCatalog.class);
      catalog.getCheckConfigurations().remove(element);
    }
  });
}
 
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:18,代码来源:CheckCfgQuickfixProvider.java


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