Examples of See


Examples of org.openquark.cal.compiler.SourceModel.CALDoc.TaggedBlock.See

                CanAppearWithoutContext.WithoutContextCons consReference = (CanAppearWithoutContext.WithoutContextCons)reference;
                Name.WithoutContextCons name = consReference.getName();
               
                if(willConflictWith(moduleTypeInfo, name, newName, category)) {
                    Category consCategory = getCategory(moduleTypeInfo, name);
                    See newSee;
                   
                    if(consCategory == Category.MODULE_NAME) {
                        newSee = See.Module.make(new CrossReference.Module[] {
                                CrossReference.Module.make(Name.Module.make(collateralDamageModuleRenameMapping.getNewNameForModule(ModuleName.make(name.toSourceText()))), consReference.isChecked())
                        });
                   
                    } else if(consCategory == Category.DATA_CONSTRUCTOR) {
                        newSee = See.DataCons.make(new CrossReference.DataCons[] {
                                CrossReference.DataCons.make(Name.DataCons.make(collateralDamageModuleRenameMapping.getNewNameForModule(org.openquark.cal.compiler.SourceModel.Name.Module.maybeToModuleName(name.getModuleName())), name.getUnqualifiedName()), consReference.isChecked())
                        });

                    } else if(consCategory == Category.TYPE_CONSTRUCTOR) {
                        newSee = See.TypeCons.make(new CrossReference.TypeCons[] {
                                CrossReference.TypeCons.make(Name.TypeCons.make(collateralDamageModuleRenameMapping.getNewNameForModule(org.openquark.cal.compiler.SourceModel.Name.Module.maybeToModuleName(name.getModuleName())), name.getUnqualifiedName()), consReference.isChecked())
                        });

                    } else if(consCategory == Category.TYPE_CLASS) {
                        newSee = See.TypeClass.make(new CrossReference.TypeClass[] {
                                CrossReference.TypeClass.make(Name.TypeClass.make(collateralDamageModuleRenameMapping.getNewNameForModule(org.openquark.cal.compiler.SourceModel.Name.Module.maybeToModuleName(name.getModuleName())), name.getUnqualifiedName()), consReference.isChecked())
                        });
                   
                    } else {
                        throw new IllegalStateException("unexpected category");
                    }
                   
                    newSee.toSourceText(sb);
                   
                } else if(refersTo(moduleTypeInfo, name, oldName, category)) {
                    See newSee;
                   
                    if(category == Category.MODULE_NAME) {
                        newSee = See.Module.make(new CrossReference.Module[] {
                                CrossReference.Module.make(Name.Module.make(newName.getModuleName()), consReference.isChecked())
                        });
                   
                    } else if(category == Category.DATA_CONSTRUCTOR) {
                        CrossReference.DataCons newReference;
                       
                        if(name.getModuleName() != null || qualifyAllRenamedReferences) {
                            newReference = CrossReference.DataCons.make(Name.DataCons.make(newName.getModuleName(), newName.getUnqualifiedName()), consReference.isChecked());
                        } else {
                            newReference = CrossReference.DataCons.make(Name.DataCons.makeUnqualified(newName.getUnqualifiedName()), consReference.isChecked());
                        }
                       
                        newSee = See.DataCons.make(new CrossReference.DataCons[] { newReference });

                    } else if(category == Category.TYPE_CONSTRUCTOR) {
                        CrossReference.TypeCons newReference;
                       
                        if(name.getModuleName() != null || qualifyAllRenamedReferences) {
                            newReference = CrossReference.TypeCons.make(Name.TypeCons.make(newName.getModuleName(), newName.getUnqualifiedName()), consReference.isChecked());
                        } else {
                            newReference = CrossReference.TypeCons.make(Name.TypeCons.makeUnqualified(newName.getUnqualifiedName()), consReference.isChecked());
                        }

                        newSee = See.TypeCons.make(new CrossReference.TypeCons[] { newReference });

                    } else if(category == Category.TYPE_CLASS) {
                        CrossReference.TypeClass newReference;
                       
                        if(name.getModuleName() != null || qualifyAllRenamedReferences) {
                            newReference = CrossReference.TypeClass.make(Name.TypeClass.make(newName.getModuleName(), newName.getUnqualifiedName()), consReference.isChecked());
                        } else {
                            newReference = CrossReference.TypeClass.make(Name.TypeClass.makeUnqualified(newName.getUnqualifiedName()), consReference.isChecked());
                        }

                        newSee = See.TypeClass.make(new CrossReference.TypeClass[] { newReference });
                   
                    } else {
                        throw new IllegalStateException("unexpected category");
                    }
                   
                    newSee.toSourceText(sb);
                   
                } else {
                   
                    // If the constructor name without context can be a module name or a qualified cons name where the
                    // module name is affected by a module renaming and needs to be disambiguated.
                   
                    CanAppearWithoutContext.WithoutContextCons newReference = consReference;
                   
                    if (getCategory(moduleTypeInfo, name) == Category.MODULE_NAME) {
                        // if the constructor name without context is a module name, disambiguate it if required.
                       
                        ModuleName rawModuleName = ModuleName.make(name.toSourceText());
                       
                        if (collateralDamageModuleRenameMapping.hasNewName(rawModuleName)) {
                            ModuleName fixedModuleName = collateralDamageModuleRenameMapping.getNewNameForModule(rawModuleName);
                            String fixedModuleNameAsString = fixedModuleName.toSourceText();
                           
                            newReference = CrossReference.WithoutContextCons.make(Name.WithoutContextCons.make(fixedModuleNameAsString), reference.isChecked());
                        }
                       
                    } else {
                        // the constructor name without context is not a module name,
                        // so if it is a qualified cons name, disambiguate the module name component if required.
                       
                        ModuleName moduleName = org.openquark.cal.compiler.SourceModel.Name.Module.maybeToModuleName(name.getModuleName()); // may be null
                       
                        if (moduleName != null) {
                            if (collateralDamageModuleRenameMapping.hasNewName(moduleName)) {
                                ModuleName fixedModuleName = collateralDamageModuleRenameMapping.getNewNameForModule(moduleName);
                               
                                newReference = CrossReference.WithoutContextCons.make(Name.WithoutContextCons.make(fixedModuleName, name.getUnqualifiedName()), reference.isChecked());
                            }
                        }
                    }
                   
                    See.WithoutContext newSee = See.WithoutContext.make(new CanAppearWithoutContext[] { newReference });
                    newSee.toSourceText(sb);
                }
            }
        }

        return makeReplaceText(sourceText, seeBlock.getSourceRange(), sb.toString());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.