private void defineNestedInterface(TypeBuilder declaringClass, InterfaceDeclarationNode interfaceDeclaration) { var shortName = context.getIdentifier(interfaceDeclaration.NameOffset, interfaceDeclaration.NameLength); var className = declaringClass.FullName + '$' + shortName; TypeBuilder typeBuilder = null; if (interfaceDeclaration.IsPartial) { var partialTypeInfo = this.partialTypes[className]; if (partialTypeInfo != null) { setNestedInterfaceModifiers(interfaceDeclaration, partialTypeInfo.typeBuilder); typeBuilder = partialTypeInfo.typeBuilder; } } if (typeBuilder == null) { typeBuilder = defineNestedType(declaringClass, className, shortName, interfaceDeclaration); setNestedInterfaceModifiers(interfaceDeclaration, typeBuilder); if (interfaceDeclaration.IsPartial) { this.partialTypes[className] = new PartialTypeInfo(typeBuilder); } } setTypeParameters(typeBuilder, interfaceDeclaration.TypeParameters, interfaceDeclaration); interfaceDeclaration.addUserData(typeBuilder); typeBuilder.setInterface(true); typeBuilder.setAbstract(true); }
private void defineInterface(String packageName, InterfaceDeclarationNode interfaceDeclaration) { var className = getTypeName(packageName, interfaceDeclaration.NameOffset, interfaceDeclaration.NameLength); TypeBuilder typeBuilder = null; if (interfaceDeclaration.IsPartial) { var partialTypeInfo = this.partialTypes[className]; if (partialTypeInfo != null) { setInterfaceModifiers(interfaceDeclaration, partialTypeInfo.typeBuilder); typeBuilder = partialTypeInfo.typeBuilder; } } if (typeBuilder == null) { typeBuilder = defineType(className, interfaceDeclaration); setInterfaceModifiers(interfaceDeclaration, typeBuilder); if (interfaceDeclaration.IsPartial) { this.partialTypes[className] = new PartialTypeInfo(typeBuilder); } } setTypeParameters(typeBuilder, interfaceDeclaration.TypeParameters, interfaceDeclaration); interfaceDeclaration.addUserData(typeBuilder); typeBuilder.setInterface(true); typeBuilder.setAbstract(true); }