本文整理汇总了Java中org.eclipse.gmt.modisco.java.TypeDeclaration类的典型用法代码示例。如果您正苦于以下问题:Java TypeDeclaration类的具体用法?Java TypeDeclaration怎么用?Java TypeDeclaration使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
TypeDeclaration类属于org.eclipse.gmt.modisco.java包,在下文中一共展示了TypeDeclaration类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: queryGrabats
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
public static Query<Integer> queryGrabats(Resource resource) {
return () -> {
List<ClassDeclaration> listResult = new BasicEList<>();
Iterable<TypeDeclaration> typeDeclarations = getAllInstances(resource, JavaPackage.eINSTANCE.getTypeDeclaration());
for (TypeDeclaration type : typeDeclarations) {
for (BodyDeclaration body : type.getBodyDeclarations()) {
if ((body instanceof MethodDeclaration)) {
MethodDeclaration method = (MethodDeclaration) body;
if (nonNull(method.getModifier()) && method.getModifier().isStatic() && nonNull(method.getReturnType()) && method.getReturnType().getType() == type) {
listResult.add((ClassDeclaration) type);
}
}
}
}
return listResult.size();
};
}
示例2: queryGrabats
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
public static Query<Integer> queryGrabats(Resource resource) {
return () -> {
List<ClassDeclaration> listResult = new BasicEList<>();
Iterable<TypeDeclaration> typeDeclarations = getAllInstances(resource, JavaPackage.eINSTANCE.getTypeDeclaration());
for (TypeDeclaration owner : typeDeclarations) {
for (BodyDeclaration method : owner.getBodyDeclarations()) {
if (method instanceof MethodDeclaration) {
MethodDeclaration methDecl = (MethodDeclaration) method;
if (nonNull(methDecl.getModifier()) && methDecl.getModifier().isStatic() && methDecl.getReturnType() == owner) {
listResult.add((ClassDeclaration) owner);
}
}
}
}
return listResult.size();
};
}
示例3: addTypeParametersToTypeDeclaration
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
/**
* Add type parameters to a type declaration with a name including these
* ones and set its name properly
*
* @param typeDeclaration
* the type declaration.
*/
public static void addTypeParametersToTypeDeclaration(TypeDeclaration typeDeclaration) {
String typeName = typeDeclaration.getName();
if (typeName.contains(TypeParameterHelper.PARAMETER_ENTRY)) {
int index = typeName.indexOf(TypeParameterHelper.PARAMETER_ENTRY);
typeDeclaration.setName(typeName.substring(0, index).trim());
typeDeclaration.getOriginalCompilationUnit().setName(typeDeclaration.getName() + ".java");
String[] parametersTypes = typeName.substring(index + 1, typeName.length() - 1).split(
TypeParameterHelper.PARAMETER_SEPARATOR);
EList<TypeParameter> typeParametersList = typeDeclaration.getTypeParameters();
for (String parameterTypeName : parametersTypes) {
typeParametersList.add(TypeParameterHelper.createTypeParameter(parameterTypeName));
}
}
}
示例4: visitType
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
/**
* Visit the properties of an {@code IType}.
*
* @param type
* the {@code IType}
* @return the {@link AbstractTypeDeclaration} object corresponding to the
* {@code IType}
* @throws JavaModelException
*/
protected AbstractTypeDeclaration visitType(final IType type) throws JavaModelException {
AbstractTypeDeclaration element = null;
if (type.isEnum()) {
element = getFactory().createEnumDeclaration();
} else if (type.isAnnotation()) {
element = getFactory().createAnnotationTypeDeclaration();
} else if (type.isInterface()) {
element = getFactory().createInterfaceDeclaration();
} else {
element = getFactory().createClassDeclaration();
}
this.currentlyVisitedJavaElement = type;
initializeNode(element);
element.setName(type.getElementName());
element.setPackage(this.currentPackage);
this.currentPackage.getOwnedElements().add(element);
// superClass
// enums are classes but can't have explicit superclass
String superClass = type.getSuperclassTypeSignature();
if (type.isClass() && superClass != null
&& !ClassFileParserUtils.isJavaLangObject(superClass)) {
((ClassDeclaration) element).setSuperClass(getRefOnType(superClass));
}
// superInterfaces
// annotations can't have explicit annotations
if (!type.isAnnotation()) {
for (String superInterface : type.getSuperInterfaceTypeSignatures()) {
if (!ClassFileParserUtils.isJavaLangObject(superInterface)) {
element.getSuperInterfaces().add(getRefOnType(superInterface));
}
}
}
// type parameters
ITypeParameter[] parameters = type.getTypeParameters();
for (ITypeParameter parameter : parameters) {
TypeParameter t = getFactory().createTypeParameter();
((TypeDeclaration) element).getTypeParameters().add(t);
visitTypeParameter(parameter, t);
}
// annotations
for (IAnnotation annotation : type.getAnnotations()) {
Annotation anno = getFactory().createAnnotation();
element.getAnnotations().add(anno);
visitAnnotation(annotation, anno);
}
// visibility modifier
Modifier m = getFactory().createModifier();
element.setModifier(m);
m.setBodyDeclaration(element);
manageModifier(m, type.getFlags(), type);
ClassFileParserUtils.manageBindingDeclaration(element, type, this);
return element;
}
示例5: setAbstractTypeDeclaration
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
/**
* Set the abstract type of the interface declaration under construction
*
* @param typeDeclaration
* the abstract type of the interface declaration under
* construction.
* @return the builder.
*/
public InterfaceDeclarationBuilder setAbstractTypeDeclaration(TypeDeclaration typeDeclaration) {
this.buildInterfaceDeclaration.setAbstractTypeDeclaration(typeDeclaration);
return this;
}
示例6: setAbstractTypeDeclaration
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
/**
* Set the abstract type of the class declaration under construction
*
* @param typeDeclaration
* the abstract type of the class declaration under construction.
* @return the builder.
*/
public ClassDeclarationBuilder setAbstractTypeDeclaration(TypeDeclaration typeDeclaration) {
this.buildClassDeclaration.setAbstractTypeDeclaration(typeDeclaration);
return this;
}
示例7: setAbstractTypeDeclaration
import org.eclipse.gmt.modisco.java.TypeDeclaration; //导入依赖的package包/类
/**
* Set the abstract type of the enum declaration under construction
*
* @param typeDeclaration
* the abstract type of the enum declaration under construction.
* @return the builder.
*/
public EnumDeclarationBuilder setAbstractTypeDeclaration(TypeDeclaration typeDeclaration) {
this.buildEnumDeclaration.setAbstractTypeDeclaration(typeDeclaration);
return this;
}