plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/ModuleChecker.java (15 lines): - line 138: // we unregister all modules at once in ModuleLoader. FIXME Shall pass module instance here as we use SModule all the time now - line 329: // FIXME I feel BuildMps_DevKit shall be no different from other BuildMps_Module (_AbstractModule and _Module merged into one concept) and I shall use _Module.dependencies - line 333: // FIXME need a mechanism to obtain the plan model! It's not necessarily part of the repo we use to provisionally load modules of BuildProject - line 375: // FIXME dcpb.requiredGenerators are not recorded into module deps (there's no respective BuildMps_DevKitExport sub-concept), shall address that - line 425: // FIXME revisit this and similar code above. What's the purpose of previous.remove() down there? Is it not to encounter it again - line 426: // FIXME or we intend to update original node? - line 431: // FIXME report erroneous accessory model - line 565: // FIXME this is provisional code, remove after 2021.2 is out and clients get a chance to update their build scripts - line 687: // FIXME in fact, we shall reference these names inside generated/copied module descriptors and stop implying they match names in the original descriptor source - line 729: // FIXME shall not limit tests sources to solutions only (TestsFacetImpl allows Languages to have tests). - line 742: // FIXME handle GenerationTargetFacet other than JMF/TF. Need to introduce BuildMps_ModuleSource subconcept for non-java - line 794: // FIXME it's stupid way to check it's a generator, and, moreover, likely a wrong place to check for this defect at all. - line 907: // TODO try BuildMps_ModuleDependencyOnJavaLibrary alternative, there could be a 'wildcard' flag to indicate this particular scenario - line 997: // FIXME Note, we don't need this hack once we have proper GENERATE_INTO dependency for languages. Now (for historical reasons), we do it - line 1012: // and is not initialized in a regular state. FIXME we'd better set this reference the moment generator is added to a language, if possible. editor/editor-runtime/source/jetbrains/mps/nodeEditor/EditorComponent.java (15 lines): - line 285: //TODO: make @NotNull after separating UI-less logic into AbstractEditorComponent class - line 287: //TODO: make @NotNull after separating UI-less logic into AbstractEditorComponent class - line 534: // TODO find a way to create good tooltips without implementing platform's Editor interface - line 610: // TODO: - line 654: myContainer.getMessagePanel().init(this); // FIXME this one is ugly, eventually ECD would be responsibility of Project-aware code. - line 781: // FIXME provisional implementation. Now we focus on replacing singleton access with this method. - line 813: // FIXME This notification doesn't seem to be responsibility of this base class, rather - line 1358: // TODO pool this method up to NodeEditorComponent - line 1378: // FIXME seems that need to introduce an abstraction of SearchPanel, like EditorInspector, with no ties to Swing or - line 1392: // FIXME there's 1 suspicious use in [mps-workbench], PasteNode_Action. - line 1552: // TODO: uncomment this assertion. Was commented out because this method is called indirectly from the dispose() method (failing tests). - line 1644: // TODO: add assertion here - line 2278: // TODO: replace this method with selection listener - line 2581: //TODO: check if it's necessary to clear updater caches here?.. - line 2778: // FIXME now that NodeInformationDialog uses popup, not JDialog, and is smart to handle cancellation, is there any reason core/generator/source/jetbrains/mps/generator/impl/GenerationSession.java (14 lines): - line 175: // FIXME 1. regular GP (not custom) collects all languages + handles 'additional' languages, have to re-use - line 186: ModelTransitions transitionTrace = new ModelTransitions(); // FIXME make it optional, if there are no Checkpoint steps, do not record transitions - line 269: // FIXME refactor, need another approach to forked branch numbering (why not 1..n for every branch, provided I can tell models by other means?) - line 289: minorStep = stepCounter.minorStep; // FIXME this is just to support old logic in Fork step, below - line 299: // FIXME both transform and checkpoint steps need myStepArgument; need better sharing than just access to the field - line 303: // FIXME this is a quick-n-dirty hack to get generation target attribute w/o keeping it explicitly in branchInfo; - line 326: // FIXME however, this remove is no-op as GM#exposed() gives new instance each time, deal with that. - line 362: // FIXME what about composite labels here? Why don't we copy them? - line 387: // FIXME what if there are 2 subsequent Fork steps - each get same stereotype (major_minor) - line 390: // FIXME as long as cloned transient models don't keep model attributes, re-instate them once again once branch is closed - line 561: // TODO I'm not quite sure present log+GenericException is better than SpecificExceptionWithData and handling outside - line 671: // FIXME I don't need ruleManager, nor even DependencyManager to execute a script. Refactor QueryExecutionContext - line 700: // FIXME Might be reasonable to utilizeModelWithAttributes interface instead of dedicated and explicit int value, - line 835: // FIXME (a) would be great to have it as a configuration setting (b) command-line m2t doesn't need transients as well (can't use 'em anyway) workbench/mps-ui/source/jetbrains/mps/ide/java/ui/JavaModuleFacetTab.java (11 lines): - line 103: // FIXME #apply() shall not deal with ModuleDescriptor directly, instead, JavaModuleFacet.save() shall put that there (better yet, - line 486: //TODO remove to enable headers once the API is ready for library loading flags - line 503: // FIXME looks almost identical to the chooser in getSourcePathsTable(), above - line 596: //TODO detect changes to the load library checkboxes - line 669: //TODO apply the libraries load option - line 673: // FIXME review model root fixing code, below - line 679: // FIXME I don't like this 'automatic' approach. Instead, shall be explicit action, either in ModelRoot tab or an extended control - line 736: //TODO retrieve the values for load flags from the API - line 834: //TODO pass the load flags also - line 836: // FIXME shall convert to IFile and use respective PathSpec constructor! - line 906: //TODO remove once the API is ready for library loading flags core/make-runtime/source/jetbrains/mps/make/ModuleMaker.java (11 lines): - line 199: * TODO move or rename the ModuleMaker (the naming is quite disturbing) - line 294: // FIXME use stateful dep calculation logic + cached dependencies to speed this up - line 297: // FIXME meed to decide if SModule *without* JMF could be among dependencies. - line 305: // FIXME this logic comes from Dependencies.collectDependencies() but I'm not 100% sure it's correct. - line 372: // FIXME getClassPath() is ok for scenarios when jm.getClasspath() is used as a dependency target, - line 559: private final List myFilesToCompile = new ArrayList<>(); // FIXME remove - line 574: // TODO consider using nio.Files.newDirectoryStream - line 698: // FIXME logic traces back to 5ffdea07a0d, but as long as I don't need filesToCompile, seems fair to recognize - line 847: // FIXME JMF != null might not be enough, seems that jmf.getCompile().isCompiled() better reflects the idea here. - line 871: // FIXME report "nothing to make" - line 1044: // TODO can that actually happens? (those files are marked as to compile) core/generator/source/jetbrains/mps/generator/impl/plan/CrossModelEnvironment.java (10 lines): - line 47: * FIXME likely, we shall not keep checkpoint models for actions other than true generate - line 75: // FIXME in the future - populate from existing cp models - line 85: * FIXME Given CP could be defined in a plan/CPSet other then the one being executed, is there any sense to - line 94: // FIXME provisional fix. - line 118: // FIXME once accessed, perhaps ModelCheckpoints instance shall be kept in myTransientCheckpoints or myExposedPersisted? - line 122: SModel exposed = createBlankCheckpointModel(model.getReference(), null /*FIXME need distinct method to create CP model from existing*/, cp); - line 209: // FIXME synchronization - synchronized or concurrent map? - line 220: * FIXME Not sure if it's right to pass CPI here, not CP. On one hand, we use CPI to identify any its use in any plan. - line 232: // FIXME this method is used both to 'expose' existing CP and to create a new. For the former case, don't need checkpoint information as it's already - line 323: // FIXME we shall look into generation tasks rather than original input model, and there could be tasks core/kernel/source/jetbrains/mps/classloading/ClassLoaderManager.java (10 lines): - line 64: * General information (FIXME OUTDATED): - line 124: * FIXME here we give no guarantees when we give out ClassLoader (#getClassLoader) that it will be valid the next moment. - line 205: // TODO ideally, shall be satisfied with SModuleReference and no repo access, at the moment still needs SRepo access - line 249: * TODO refactor all usages of getClass() - line 319: // FIXME use tryLock(timeout), and, perhaps, few attempts for uses from CLM (where 'write' is held) - line 378: // FIXME I wonder why we get all dependencies, not just direct and let regular CL delegation to deal with the rest? - line 379: // TODO I wonder if I shall pass subTask into createClassLoaders() - line 380: // TODO pass CModule (filtered by isValid(), and only then filter ReloadableModule instances, so that the moment we can split SModule and - line 394: * FIXME not sure supplied modules match myMPSLoadableCondition, perhaps externally-managed modules are - line 465: // FIXME I don't quite undertand how come TempModule from console could get repository == null (e4ebe803, MPS-20789 10yo! hotfix!!) core/generator/source/jetbrains/mps/generator/impl/CheckpointStateBuilder.java (10 lines): - line 40: // FIXME refactor/replace MappingsMemento with more sophisticated storage, with ML objects instead of Map/String/Object. - line 43: * FIXME myMemento is of no use unless we uncomment stepLabels.export(this) call in addMappings() below. - line 67: FIXME it's possible for outputNode to belong to another model than the transient one supplied at construction: - line 74: // FIXME here we assume checkpoint model is cloned with nodeId of outputNode kept. - line 84: FIXME see record() above - line 89: // FIXME here we assume checkpoint model is cloned with nodeId of outputNode kept. - line 97: // FIXME add similar operation to get true identity of output node(s). Now MappingsMemento implicitly assumes (with outputNode.getNodeId() call) - line 100: // FIXME shall record identity of input model in a way it could be referenced from outside - line 115: // FIXME likely, GeneratorMappings shall care about MappingMemento only (pass TransitionTrace there as well). - line 117: // FIXME stepLabels.export is commented out as we restore MappingsMemento for the CPState through persisted state and MappingLabelExtractor, to get core/kernel/source/jetbrains/mps/project/structure/modules/ModuleDescriptor.java (10 lines): - line 50: * FIXME This class mixes up the persistence and editing aspects of the {@link AbstractModule} class. - line 51: * FIXME in order to edit facets/model roots in the module a client needs to access such entities as {@link ModuleFacetDescriptor}, {@link ModelRootDescriptor} directly, - line 52: * FIXME when he has just an {@link AbstractModule} (which leads to a low-level module#getModuleDescriptor.getFacetDescriptors().add...) - line 53: * FIXME obviously it is wrong: a client should rather work with {@link SModuleFacet} entities in the case of editing an {@link AbstractModule}, not descriptors. - line 54: * FIXME OTOH it cannot be a plain persistence descriptor since in order to update (more or less) any properties of an {@link AbstractModule} - line 55: * FIXME we use such pattern in the {@code AbstractModule} as: - line 66: * TODO Also I would rather use in the ModuleDescriptor hierarchy composition instead of inheritance. The {@link #myDeploymentDescriptor} reference is especially repelling here. - line 90: private DeploymentDescriptor myDeploymentDescriptor; // FIXME must be removed - line 117: // FIXME WHY NOT SModuleId - line 138: // FIXME document what's that and what format it is in core/kernel/source/jetbrains/mps/project/AbstractModule.java (10 lines): - line 260: // FIXME check if we always supply same MD instance module already has (it seems that the method is merely a means to tell 'reload state from memory/MD' after - line 262: // FIXME descive what happens module identity/reference is changed in the new MD - line 332: // FIXME it's not nice to modify MD, provided we use MD as an editing handle for module. Just need to come up with a better approach - line 388: * FIXME module editing is generally done through descriptor and reload. Although I do not mind exposing add/remove methods here, it should be consistent! - line 636: // FIXME perhaps, have to call super.dispose() prior MR.dispose() - line 659: // FIXME this is very, very suspicious code, but DiskMemoryConflictTest.deleteDisk_XXX() tests - line 780: // assertCanChange(); // FIXME model read + separate lock for models - line 792: // FIXME don't need module(), shall extract ModelRootBase.doLoadModels() into separate class and - line 834: // TODO discuss: isn't it plain better to personally track all the dependency renames for each module (and model)? - line 875: * {@implNote} FIXME there's 1 use in MPS tests where we use this value to access content of module-src.jar, just need to address this sceanario by core/kernel/source/jetbrains/mps/smodel/SNodeAccessUtilImpl.java (9 lines): - line 57: // FIXME why don't we use another SNodeAccessUtilImpl in merge driver mode, instead of this gruesome 'if'? - line 73: // FIXME `node.enumProp` how has pure raw value type while here we have to return SEnumerationLiteral instance - line 74: // FIXME remove this when typeof(`node.enumProp`) become SEnumLiteral - line 78: // FIXME mbeddr ext `propertydefault` might also return serialized value from `descriptor.getValue()` so here we have to deserialize it - line 79: // FIXME remove it after 2018.3 so instances of `propertydefault` will be regenerated - line 132: // FIXME Unfortunately there're some generators to LongLiteral that relies on committing invalid property values - line 133: // FIXME Also for now (2018.3) we can set invalid enum property values from smodel for compatibility reasons - line 162: // FIXME no idea why we catch Exception here, while getPropertyValueImpl, above, sticks to Throwable - line 240: //FIXME WHY there is no logic that invokes constraints like in SNodeAccessUtilImpl#setReferenceTargetImpl ??? core/project/source/jetbrains/mps/project/facets/JavaModuleFacetImpl.java (8 lines): - line 214: // FIXME On one hand, it looks stupid to account for existing values in the memento, a lot of ugly code - line 255: // FIXME seems that I need dedicated 'initNew/Default' API method, as blank JMF might be a legitimate scenario - line 259: // FIXME in fact, JavaModuleFacetTab does the same, but only for Solution, while I need this to happen for every module with a new JMF. - line 262: // FIXME this code ^^^ is wrong for Generator (src dir == lang src dir), there's a defect in YT (MPS-35607) - line 263: // FIXME Once there's myOutputRoot, need to decide about its default value. On one hand, seems reasonable to do the same as - line 295: // FIXME duplicating code with "source" code branch, below - line 451: * FIXME I'd love to have this method as generic factory one in FacetFactory, but ModuleFacetDescriptor is an - line 501: // FIXME hack, no need to create (or resolve classes_gen) unless necessary core/kernel/source/jetbrains/mps/extapi/model/SModelBase.java (8 lines): - line 62: * TODO relocate to [smodel] - line 202: assertCanRead(); // FIXME why not write? - line 207: * TODO make final - line 212: // FIXME provided setModule() requires read lock, another read lock here doesn't prevent from - line 257: * @return node storage. Generally, shall not return null (FIXME revisit contract, enforce) - line 483: * FIXME it's synchronized, do we still need that (with RegularModelDescriptor using distinct lock object) - line 503: // FIXME cache invalidation shall be a repository listener, and not done forcefully on model change - line 544: * FIXME This is a hack. We shall pass myEventDispatch the moment internal model is initialized. languages/languageDesign/generator/languages/templateLanguage/generator/source_gen/jetbrains/mps/lang/generator/generator/baseLanguage/template/main/QueriesGenerated.java (8 lines): - line 635: // FIXME can't use saveListVar as it doesn't force value override, - line 1017: // FIXME don't see a reason why can't use getVar(genContext, node.parent, 0) here, not getVarHack - line 1653: // FIXME if I call reduce_TemplateFragment instead of reduce_Node, above, it seems that - line 1735: // FIXME this is provisional code, need to generate ALL LDs, not only private, - line 1767: // FIXME see declaration - line 1897: // FIXME resembles reduce_fragmentParts a lot - line 2281: // FIXME However, we are inside transient model now, I'm not sure what does model.getModule() gives here - line 2591: // FIXME why do we need ClassifierTypeUtil here, are types not capable to reduce at the proper time? core/generator/source/jetbrains/mps/generator/impl/TemplateProcessor.java (8 lines): - line 75: * TODO make MacroNode aware of container TemplateNode and don't pass both arguments when only one is sufficient - line 83: // FIXME do I truly need TemplateGenerator access here - line 200: // FIXME Shall I explicitly pass null for next for macros that are terminating and don't expect further macros (like INSERT)? - line 396: // FIXME $LOOP$ in generated templates is not recorded into trace - line 451: // FIXME For a regular macro, it's TemplateProcessor.applyTemplate that does env.registerLabel for any node produced by a macro (once we - line 506: // FIXME why WEAVE macro has ruleConsequence:TemplateDeclarationReference, while CALL is ITemplateCall itself and got template:IParameterizedTemplate? - line 530: // FIXME could I re-use MacroWithTemplateCall here? - line 624: // FIXME I invoke query here directly, not through QueryExecutor. Not that I don't want trace for these languages/baseLanguage/baseLanguage.scopes/source_gen/jetbrains/mps/baseLanguage/scopes/ClassifierResolveUtils.java (8 lines): - line 218: // TODO static imports are not handled yet - line 276: // FIXME will be unnecessary when transient models live in a separate repository - line 284: // TODO try to use some fast find support - line 310: // TODO make more precise: take role into consideration - line 358: // FIXME constant 20 - line 380: // FIXME will be unnecessary when transient models live in a separate repository - line 467: // TODO on-demand imports and probably inherited classes - line 540: // FIXME it's a copy of the for loop above, just for different map and extra filter for model stereotype workbench/mps-platform/source/jetbrains/mps/refactoring/Renamer.java (8 lines): - line 188: // FIXME now needs model read; review and align approach to model read/write once stabilized. - line 231: // FIXME could be other way round, when primary module to rename is language-owned generator and we get here - line 241: // FIXME in fact, there could be other nested modules under 'related' one, need to account for this scenario, too - line 278: // FIXME perhaps, could use local FS marks (like migration does) to revert easily!? - line 323: // FIXME where do we handle generator case (name#whatever), here or in prepareRename? - line 558: // FIXME perhaps, shall keep baseName as field? - line 560: // FIXME respect generator modules, where newModuleName contains #hash or does not. - line 597: public void runRenameCommand(/*FIXME ProgressMonitor?*/) { plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/newparser/ASTConverter.java (8 lines): - line 92: // FIXME do it more carefully (State?) - line 147: // FIXME work around. what's with interface here - line 182: // FIXME remove empty finally - line 278: // TODO We cannot use the type-system here to help us resolve method signatures. Find a better place for setting the constructor reference - line 628: // TODO state should have a flag: foreign ids needed or not - line 834: // FIXME hack: ignoring type args of intermediate classes; like A,B in Cl1.Cl2.Cl3.FinalClass - line 917: // FIXME do expressions in annotations properly - line 1072: // FIXME move it to constructor (since everything is immutable) core/kernel/source/jetbrains/mps/core/platform/DynamicComponentPlugin.java (7 lines): - line 66: // FIXME Likely, necessary for tests only, but still worth distinct method and threading addressed - line 121: componentInstance.init(); // FIXME guard with try/catch? - line 138: componentInstance.dispose(); // FIXME guard with try/catch? - line 151: // FIXME this class to be unaware of threading, while its outer shall take care - line 245: // FIXME threading! impl doesn't expect multiple threads to enter this code! - line 263: // FIXME what about threading? - line 296: // FIXME likely, shall check if there's already component instance published for this iface. core/generator/source/jetbrains/mps/generator/impl/plan/CheckpointVault.java (7 lines): - line 100: // FIXME fail quietly for now, think over better error handling - line 104: // - FIXME why not report error through IMessageHandler so that client could see it? Warning, perhaps? - line 188: // FIXME with no plan grouping, introduce a new format, with distinct cp entries, not grouped under - line 194: // FIXME ensure names are unique - line 208: // FIXME use of StreamHandler; - line 219: // FIXME it's bad to use different sets of API (StreamProvider vs StreamHandler) to read/write CPs. - line 236: // FIXME what can I do here? core/generator/source/jetbrains/mps/generator/impl/TemplateGenerator.java (7 lines): - line 534: // FIXME revisit need to QueryExecutionContext, likely don't need one if switch to per-query tracing/wrapping - line 535: // FIXME revisit use of template processor there, it's only necessary for interpreted templates, can I avoid exposing it - line 810: // FIXME with TEEImpl responsible to collect languages that showed up during transformations - line 879: // FIXME the whole thing with registerRoot shall be refactored - there's little sense to forget about context - line 961: * FIXME Input node is likely not null, though not sure what to do with create root rules. Perhaps, they don't need trace as there's no origin to trace to? - line 1094: // TODO make map building an explicit step in DeltaBuilder so that ordering won't matter that much. - line 1210: // FIXME ^^^ external == false ==> it's DynamicReference - why do we care to set myOutputModelRef?! workbench/mps-platform/source/jetbrains/mps/ide/projectView/ProjectViewImpl.java (7 lines): - line 48: private final Project myProject; // FIXME superclass's field is private and there's no accessor - line 64: // FIXME the global (shared) options should also be updated - line 66: // FIXME reuse updatePanes from the superclass - line 86: // FIXME the global (shared) options should also be updated - line 88: // FIXME reuse updatePanes from the superclass - line 125: // FIXME respect the pane id - line 131: // // FIXME respect the pane id plugins/mps-build/languages/build.mps/generator/source_gen/jetbrains/mps/build/mps/generator/template/main/QueriesGenerated.java (7 lines): - line 156: // FIXME template for this case was copied from reduce_BuildMpsLayout_ModuleJars, shall refactor to avoid duplication - line 185: // FIXME the only reason I check for same project, not same model here - line 255: // FIXME BuildMps_AM.getModuleReference doesn't use PersistenceFacade or anything else but hardcoded knowledge about module reference format - line 713: // FIXME no reason for MM to assume DD.descriptorFile always goes under module, we shall keep this knowledge here - line 1312: // FIXME revisit to justify true need for deployed module to tell its used languages - line 1342: // FIXME why don't we handle this inside switch_ModuleSourcesToSourceLocation? - line 1483: // FIXME any idea why no clean sources for modules in bootstrap chunks, anyone?! plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/wizard/MigrationTask.java (7 lines): - line 84: // FIXME I hate that we call saveProject() for each step and that it uses internal IDEA stuff. - line 221: // FIXME seems I can use runLocalHistoryRecord() instead - line 300: // FIXME can't I combine runLocalHistoryRecord into plain runnable and invoke it inside invokeAndWait? - line 303: // FIXME do I need invokeAndWait now that I use model write, not command? - line 305: // FIXME present implementation of updateModuleImports() doesn't take into account actual set of modules - line 399: // FIXME why non-reloadable section when we don't compile any module here and can't deploy anything? - line 432: // FIXME see MigrationSessionBase.nextStepModule for use of PM initialized with this value. we report 1 unit for each executed ScriptApplied, which is core/project/source/jetbrains/mps/project/ProjectBase.java (7 lines): - line 80: // FIXME refactor other subclasses and pass boolean initDefaultRepo == true|false - line 122: // FIXME ^^^ this is likely no longer true - line 152: // FIXME investigate why MP was not recorded for Language-owned Generators. - line 162: // FIXME I don't register them in a project as there's no ModulePath to associate them with, but perhaps we shall use some default MP for them, - line 229: // FIXME shall deprecate this method and stick to a new one, that gives all modules, including generators - line 250: // FIXME now myModuleLoader keeps ModulePath for each module, including Generator one, next code is no longer necessary - line 279: // // FIXME present approach is unfortunate, as it's impossible to split module discovery (ModulesMiner for a path, and even up to SModule instantiation) core/generator/source/jetbrains/mps/generator/TransientModelsModule.java (7 lines): - line 184: // FIXME unloading a model discards its attributes (an old defect that we swap out nodes only, neither model imports nor attributes get serialized - line 286: // TODO generify attributes so that we can pass whatever information we find handy along with a transient model - line 427: // FIXME need lazy loading now (with transient models unloaded at the end of a model generation) - navigating to transients module - line 435: // FIXME restoreFromSwap is supposed to get imports (and not only imports!) back - line 494: // FIXME now that we're subclassing EditableModelDescriptor, use unload() instead of this method directly - line 503: // FIXME seems to be identical to #unloadModelNoSave(), check usage scenarios! - line 517: // TODO move transient models outside of the default repository; false here prevents model from saving plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/newparser/JavaToMpsConverter.java (6 lines): - line 334: // FIXME I don't see a point to split the whole operation into the series of read/writeInUpdate, but don't want to deal with this - line 588: // FIXME share or re-use code with the corresponding NonTypesystemRule - line 676: // FIXME share or re-use code with the corresponding NonTypesystemRule - line 714: // FIXME share or re-use code with the corresponding NonTypesystemRule - line 747: // FIXME share or re-use code with the corresponding NonTypesystemRule - line 784: // FIXME share or re-use code with the corresponding NonTypesystemRule plugins/execution-configurations/junit/launcher/source_gen/jetbrains/mps/baselanguage/unitTest/execution/launcher/WithPlatformTestExecutor.java (6 lines): - line 33: * FIXME At the moment, starts MPS on top of IDEA platform with no explicitly specified plugins (effectively means any available). - line 97: // FIXME need a better idea how to report feedback - line 136: // FIXME similar override in JUnitInProcessRunStarter, need to unify - line 137: // FIXME figure out if all this mangling with stdout/stderr output is necessary, if I can produce event by other means (e.g. file or another stream/pipe?) - line 165: // FIXME quite similar to LaunchTestWorker, I wonder if I could use LaunchTestWorker instead of WithPlatformTestExecutor? - line 175: // FIXME Though technically dependency to MpsWorker (j.m.tool.builder) is possible here, I don't want it yet as I plan to split Ant/JUnit stuff from environment-related stuff there. core/kernel/source/jetbrains/mps/smodel/tempmodel/TempModule.java (6 lines): - line 31: * FIXME why it's not a TransientSModule, so that we don't need to care about this particular kind of module when we want to - line 33: * TODO: rewrite class loading functional : it must not extend ReloadableModuleBase and be maintained by ClassLoaderManager. - line 34: * TODO: it does not belong to any repository - line 43: // FIXME remove MD altogether - line 51: // FIXME likely would be better to move next to module's register()/untegister() code - line 68: // FIXME In fact, there should be no MD at all in this TempModule core/make-runtime/source/jetbrains/mps/make/JavaCompilerImpl.java (6 lines): - line 72: // FIXME take value from JavaCompilerOptions - line 97: // TODO: Workaround: when PathClassLoader is the system CL then the standard way "ToolProvider.getSystemJavaCompiler()" does not work. - line 108: // FIXME need to figure out proper way to use EclipseCompiler implementation of javax.tools.JavaCompiler interface - line 353: // FIXME nio.Files.copy(), perhaps? - line 369: // FIXME null seems to mean 'default', which could be something under user home, which I don't like - line 432: // FIXME bad name core/generator/source/jetbrains/mps/generator/runtime/TemplateExecutionEnvironment.java (6 lines): - line 56: // FIXME with #getGenerator() being instance of GQP.Source, perhaps TEE shall not implement it? - line 90: // FIXME remove mappingName parameter where TemplateContext is available - line 113: * FIXME why do I stick to SNodeReference to identify template location, just for the sake of navigation? Can I use smth like TemplateDeclarationKey instead? - line 134: * FIXME provisional API just to get rid of TemplateGenerator:getGenerator exposure. Would be great to use smth like TemplateDeclarationKey, just the name is unfortunate - line 173: * FIXME PROVISIONAL CODE, PLEASE CONSIDER ANOTHER APPROACH - line 185: * FIXME unclear if I shall allow for null key2, and, if yes, treat that as regular registerLabel then? languages/languageDesign/smodel/generator/source_gen/jetbrains/mps/lang/smodel/generator/baseLanguage/template/main/QueriesGenerated.java (6 lines): - line 860: // FIXME likely, need a dedicated property in EnumerationDataTypeDeclaration to hold id value, but for now, live with SNodeId - line 1271: // FIXME in fact, if all SubconceptCase statement lists ends with return (and break?) statement, I don't need - line 2540: // FIXME Blank MC left as an empty placeholder as there are generator priority rules that reference it - line 2541: // FIXME Remove once 2017.2 is out - line 2545: // FIXME Blank MC left as an empty placeholder as there are generator priority rules that reference it - line 2546: // FIXME Remove once 2017.2 is out editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/EditorCell_Label.java (6 lines): - line 561: // TODO: we do this twice ... allowErrors = true/false - line 683: // TODO: check if we need command here or we can execute command from UI action... - line 714: // TODO: just use delete action (do not call getSNode().delete()) in the end if acton was not found or is not applicable - line 1033: // TODO: use EditorCell_Label.this. instead.. - line 1099: // TODO: use EditorCell_Label.this. instead.. - line 1141: // TODO: use EditorCell_Label.this. instead.. core/generator/source/jetbrains/mps/generator/impl/plan/CheckpointState.java (6 lines): - line 58: // FIXME read and fill memento with MappingLabels - line 90: // FIXME wrap it (ML + inputs + outputs) into an object like MapLabelState, with getLabel(), getInputs() and getOutput(input). - line 100: // FIXME merge the logic together with #hasSingleKeyRecordsFor() - line 129: // FIXME Likely, shall not mix (ModelTransitions->TransitionTrace) into (ModelCheckpoints->CheckpointState) as they are for different execution lines - line 154: // FIXME move the check outside of this code, and don't use this method at all. - line 187: // FIXME what about proper model access here? workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/ide/make/WorkbenchMakeService.java (5 lines): - line 110: // FIXME I wonder if I can get 'composed' future here, the one that would report IResult, once ready, with displayInfo() - line 263: // FIXME I hate this string formatting, but for the moment just need to move this out of CoreMakeTask - line 299: // FIXME suspicious try/catch around doExecute -> invokeLater(). It's highly unlikely anything goes wrong with doExecute - line 346: // FIXME is there tool window with "Make" id? I would prefer to report IResult.FAILURE with a balloon rather than status bar. - line 396: // FIXME WorkbenchMakeService is generic code and doesn't need to know/care about JavaCompile facet existence or Kotlin compilation parameters. core/kernel/source/jetbrains/mps/smodel/SNode.java (5 lines): - line 187: * Differs from {@link SNode#delete()}. FIXME please explain how it differs from delete() - line 526: // FIXME for consistency, shall use same approach to dispatch events from e.g. getParent(), where I use - line 529: // FIXME revisit uses of this method, re-consider approach. E.g. perhaps SModel shall keep SNodeOwner instance? - line 844: // FIXME odd to have role parameter, while SReference.getLink gives exactly what's needed (and doesn't violate consistency) - line 851: // FIXME why assert, not RuntimeException?! OTOH, as I retire uses of the method, shall I care? core/kernel/source/jetbrains/mps/extapi/persistence/FileBasedModelRoot.java (5 lines): - line 83: public static final String CONTENT_PATH = "contentPath"; // TODO: 12/20/16 lower visibility - line 85: public static final String LOCATION = "location"; // TODO: 12/20/16 lower visibility - line 159: if (rv != null && getModule() instanceof EditableSModule && isRegistered()) { // FIXME explain isRegistered() here - detached MR with associated AM but not attached for the sake of load+edit - line 165: // FIXME perhaps, just 1 factory method that takes IFile and decides whether it's absolute/relative? - line 246: // FIXME need a proper fix (use of IFile/Path/String and editing approach for MR/MRD, workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/MPSTree.java (5 lines): - line 549: * FIXME Besides, controls whether active expansion paths are preserved, although there are only 2 uses of the method, and both specify {@code true}. - line 804: // TODO: refactor TreeState to include these instead of the old format - line 846: // TODO: refactor TreeState to include these instead of the old format - line 890: // TODO: refactor TreeState to include these instead of the old format - line 1001: // FIXME what's the reason for this code, why do we care to control initial delay for a tree? core/generator/source/jetbrains/mps/generator/impl/plan/ModelCheckpoints.java (5 lines): - line 61: // FIXME shall I assert no duplicated states (model for same cp)? - line 69: * FIXME perhaps, shall have a distinct Checkpoint to indicate initial model (don't want to keep the model in transients, though - line 106: * FIXME In fact, need both CheckpointState for tp and SNode as return values, perhaps worth extracting into a separate class which keeps both - line 120: // FIXME perhaps, could make use of myPlanStep.getLastCheckpoint() not to get beyond that CP. However, need further investigation - line 172: // FIXME shall I report missing checkpoint for a target model? workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/tables/models/ModuleDependTableModel.java (5 lines): - line 175: // FIXME here's comes a hack. We used to save only 'DEFAULT' SDependency with Dependency, - line 176: // FIXME and 'EXTENDS' as SModuleReference (@see getExtendedModules, below). - line 177: // FIXME However, with support for other dependency scopes introduced, we are going to transit - line 178: // FIXME to single Dependency presentation. Meanwhile (as there no scopes but EXTENDS and DEFAULT in legacy descriptors) - line 179: // FIXME this code simply leaves EXTENDS processing as it was, but saves all other dependencies with Dependency object workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/CreateRootNodeGroup.java (5 lines): - line 61: * FIXME: Create* actions have nothing to do with project pane implementation, move elsewhere - line 64: // FIXME is there true need to extend BaseGroup? Can benefit from BG update and, perhaps, shorter model read? - line 137: // FIXME provisional code until I decide how to resolve devkits inside LAD.describeAspectRoots(). - line 216: "jetbrains.mps.ide.editor.actions.AddLanguageImport_Action"/* FIXME AddLanguageImport_Action.class.getName()*/)); - line 221: // FIXME use concepts from LR, not through SLanguage and statics! plugins/mps-ant-make/solutions/tool.make/source_gen/jetbrains/mps/tool/make/MakeExecutor.java (5 lines): - line 63: // FIXME how do I report messages (and progress, perhaps) to the outside world? - line 64: // FIXME Is it worth to come with headless MakeService impl (BuildMakeService extracted out of j.m.tool.builder)? - line 68: // FIXME and this is wrong (to do it in WMS). It's ok to do it here or better yet, move it as a default (i.e. no parameter explicitly set) right into JavaCompile facet - line 78: // FIXME filter through MGSM if requested through params (share 'clean' for this?) - line 86: // FIXME dump performance trace? core/kernel/source/jetbrains/mps/smodel/SModel.java (5 lines): - line 98: // FIXME introduce UniqueList or ArraySet to avoid "if (!myList.contains && myList.add())" on change - line 204: // FIXME why on earth we remove new root from original location, but don't do the same for insertChild? - line 658: // FIXME if lang comes to the model by means of devkit, this method spits a message for each attempt to find out language version. - line 679: // FIXME where to take version value to put into myLanguagesIds if not from deprecated method??? - line 786: // FIXME comment above makes no sense, and is just a historical artifact (there's !isLoaded() when it was introduced) IdeaPlugin/mps-java/source_gen/jetbrains/mps/idea/java/psiStubs/ASTConverter.java (5 lines): - line 178: // TODO maybe we must not touch expressions here (they may be not in the psi index) - line 251: SPropertyOperations.assign(str, PROPS.value$w7MM, "TODO: SUPPORT EXPRESSIONS IN PSI STUBS?"); - line 559: // FIXME this odd identical code to create dynamic, not static reference is here for ages, - line 574: // FIXME a) check it's good for node id, b) try to be the same as binary stubs - line 576: // FIXME doesn't work properly with a very rare case a.b.c.d core/smodel/source/jetbrains/mps/smodel/StaticReference.java (5 lines): - line 94: // FIXME check uses, perhaps, have to be SNodeImplAccess operations rather than SReference-mediator? Then, we can cease using invalid getResolveInfo() here - line 97: // FIXME makeMature to create proper IndirectNodePtr right away - line 223: // FIXME this hack is a replacement for deprecated SModule.resolveInDependencies - line 286: // FIXME need a better approach to keep names of predefined attributes; - line 321: // FIXME do I want to keep a copy or would I like to go to SNode impl each time to pick up actual AssociationData? core/generator/source/jetbrains/mps/generator/impl/TemplateExecutionEnvironmentImpl.java (5 lines): - line 199: // FIXME respect children/all descendants. Part of ChildAdopter, perhaps? - line 264: // FIXME seems that context.registerLabel(reducedNode) (+context.hasMappingLabel(), perhaps) is much more convenient way to go - line 266: // FIXME seems that there's no reason to register ML here explicitly; it has to happen the moment first template node is created - line 426: // TODO add into trace - line 604: // FIXME fill ruleTrace with relevant context information core/generator/source/jetbrains/mps/generator/impl/plan/RegularPlanBuilder.java (5 lines): - line 285: // FIXME quite ineffective way to deal with LanguageRuntime.getGenerators producing new instance of TemplateModule each time asked. - line 333: // FIXME why not to keep ModelSetup as part of Plan only, and use RigidGenerationPlan instance in forkStep:ForkEntry instead - line 513: // FIXME explicitly mentioned generators are added as last, usually it's `lang TargetTo` followed by `lang Transform` - line 517: // FIXME need feedback so that user can find out there's nothing in the step. - line 523: // FIXME need to arrange individual steps according to output/target languages core/kernel/source/jetbrains/mps/extapi/module/SModuleBase.java (5 lines): - line 59: // FIXME with myElements being guarded by synchronized lock, do I need to guard this by same lock or concurrent map is the way to go - line 386: // FIXME at the moment, while it's private api, we just silently ignore bad arguments, there are checks outside this code; - line 394: filteredForget.forEach(this::fireBeforeModelRemoved); // FIXME collection down there - line 415: filteredAdd.forEach(this::fireModelAdded); // FIXME fireModelAdded to take collection - line 416: filteredForgetRefs.forEach(this::fireModelRemoved); // FIXME same core/kernel/smodelRuntime/source_gen/jetbrains/mps/lang/smodel/generator/smodelAdapter/SModelOperations.java (5 lines): - line 107: // FIXME I suppose it's better to use ModelConstraints.getDefaultConcreteConcept(), not asInstanceConcept)( - line 152: // FIXME we have to reference javastub classes, as we don't want j.m.runtime solution to depend from j.m.project - line 153: // FIXME though the true defect is that Model_GetModule operation (which uses this rt code) lives in lang.smodel that doesn't - line 154: // FIXME expose j.m.project as its runtime. Likely, shall move Model_GetModule operation to a distinct language with j.m.project a\s RT - line 155: // FIXME or to specify j.m.project as lang.smodel's RT. This method has to get moved into respective solution regardless. workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/UsagesTree.java (5 lines): - line 205: // FIXME refactor UsagesTree construction so that it doesn't try to show tree before any content supplied. - line 333: // FIXME it's newTreeNode() that picks proper icon. If a data.isResultNode()==true comes once there's already a UTN for a path node, with - line 370: // FIXME why do we need to do it here, why not in UsageTreeNode rendering code? - line 451: // FIXME please, refactor - line 509: // FIXME this is provisional code while I refactor UsagesView to get ready for new SearchState. core/project/source/jetbrains/mps/project/OptimizeImportsHelper.java (5 lines): - line 43: // FIXME (1) OrganizeImports (there's no optimization) - line 44: // FIXME (2) anything but empty dialog when OI for a generator module - line 45: // FIXME (3) sort dependencies by name, group by kind(SDependencyScope) to make dependencies look uniform and easy to grasp. - line 46: // FIXME (4) Refactor the class, reporting and breathe some OOP in here - line 249: FIXME how come we take engaged languages into account as 'used'. I'd rather demand them explicitly added as 'used', rather core/generator/source/jetbrains/mps/generator/impl/interpreted/TemplateCall.java (4 lines): - line 52: * FIXME comment below from 2014 is likely outdated, there's been a change in 2018 to facilitate arguments in weaved templates - line 72: * FIXME drop this cons and its uses, there's no longer use for that (see 878de4a8e4ca2eda6d5950c5e8105b269c0c4a16) - line 182: // TODO FIXME using PatternVarsUtil directly, which is loaded by MPS - line 206: // TODO perhaps, shall initialize it at construction time, rather than on first use? core/openapi/source/org/jetbrains/mps/openapi/module/SModule.java (4 lines): - line 48: // FIXME why not "" in case there's no module name - line 110: * FIXME decide whether we need resolveInDependencies(SModelReference), which might be handy to give module control over - line 119: * FIXME document whether this method required model read - line 174: // FIXME document whether read lock is required to access roots editor/editor-runtime/source/jetbrains/mps/nodeEditor/EditorManager.java (4 lines): - line 74: // TODO: Create API interface for EditorManager & use this method always here - line 90: // TODO: remove this method, use getUpdater() - line 103: // TODO: make package-local, move to jetbrains.mps.nodeEditor.updater package ? - line 149: // TODO: Make processing of style attributes more generic. workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/project/modules/LanguageProducer.java (4 lines): - line 139: // FIXME public just for the sake of transition from NewModuleUtil to these Producer classes - line 157: // FIXME Above, to configure a root, we create typed MR (inside DMR.createDescriptor), fill with data and convert to MRD - line 169: // FIXME public just for transition period, once NewGeneratorDialog is fixed, make private - line 203: // FIXME configure what aspects to create workbench/mps-platform/source/jetbrains/mps/workbench/index/PropertyValueIndex.java (4 lines): - line 105: // FIXME what if there are 'ignored' words in the text? Does it prevent us from using index (there's would be respective WordIndexEntry - line 127: // FIXME need to filter out checkpoint models somehow! They are huge and are not worth indexing! - line 252: // FIXME likely, shall ensure unique int values coming into cc? Or is it an indication of better match (few same trigrams per value is better than - line 305: // FIXME else{} - what if we get same hash value for few 3-grams within the value? I'd end up with multiple identical 'node' elements in the list! core/project/source/jetbrains/mps/project/facets/JavaModuleFacet.java (4 lines): - line 29: // FIXME why some API is with String for files (like getLibraryClassPath, getClassPath, getAdditionalSourcePaths), not IFile? - line 100: // FIXME generally, there's no output location for packaged/deployed modules, but in fa6fcfeb MM removed !isPackaged check here - line 139: * FIXME decide whether shall look into model output overrides (see DefaultStreamManager.Provider.getOverriddenOutputDir()). Didn't check for - line 173: * FIXME why Set and why String? Collection and IFile! core/generator/source/jetbrains/mps/generator/impl/TransitionTrace.java (4 lines): - line 45: * FIXME inputNode may not necessarily come from the input model, it might be arbitrary non-transient (or even perhaps checkpoint?!) model, - line 75: * FIXME could do the same for TracingUtil.ORIGINAL_INPUT_NODE, i.e. TT.reset(transientModel@0) to make it uniform - line 76: * FIXME perhaps, shall take originModel as well, and a function that maps nodes of transientModel to nodes of originalModel - line 113: // FIXME in fact, might be more effective just keep UO as is and filter out at serialization time (e.g. by list of supported keys or workbench/mps-platform/source/jetbrains/mps/project/ModuleFileChangeListener.java (4 lines): - line 70: // FIXME mm.collectModules have to be guarded with code that deals with failures to read module descriptor and asks VCS (if any) for a - line 89: // FIXME shall I add new modules (delta.toLoad()) discovered from existing/tracked files? Previous version didn't care to do that, though that - line 100: // FIXME If MD comes from another file, need to let AM know about the change! - line 142: // FIXME I'd love to use `file = file.stepUpToArchive()` here not to add listeners inside archives, but this change require careful fix in other core/kernel/source/jetbrains/mps/classloading/ModuleUpdater.java (4 lines): - line 88: // FIXME check present logic accounts for different events for the same module - line 172: // FIXME do we remove CModule from storage here or later, when we get to myDepGraph cleanup, and here just collect deleted CModule? - line 295: // FIXME update status for modules in forStatusUpdate - line 328: // FIXME have to distinguish 2 scenarios here: (a) dependency is necessary for CL --> need an edge; (b) it's a design-time dependency --> edge isn't necessary core/kernel/source/jetbrains/mps/extapi/persistence/ModelRootBase.java (4 lines): - line 43: * FIXME a module ought to be passed in constructor - line 179: // FIXME this seems to be an MR-independent code, close friend class to SModuleBase that is capable to take models loaded by a MR and - line 227: mdd.unload(oldModel); // tell re-used instance to throw away any nodes. FIXME there are still at least 2 issues with that: - line 228: // FIXME (1) model.unload() doesn't necessarily do anything, model impl is not obliged to do anything about that, we'd better send out explicit event core/kernel/source/jetbrains/mps/smodel/AttachedNodeOwner.java (4 lines): - line 69: // FIXME explicit attach to set repository? So that it behaves exactly as it was prior to SNodeOwner? - line 111: myModel.enforceFullLoad(); // FIXME dubious need to perform full load if all we do is populating id map - line 131: // FIXME why UnregisteredNodes.put in SNode#unRegisterFromModel (#detach(SNodeOwner)) us conditioned with !isUpdateMode(), and this one is not? - line 255: // FIXME is it true we need to register immature even in update mode? languages/languageDesign/textGen/generator/source_gen/jetbrains/mps/lang/textGen/generator/template/main/QueriesGenerated.java (4 lines): - line 141: // FIXME this is a hack to construct name of class from structure aspect, once x-model generation is here, internal type would get replaced with reference macro - line 145: // FIXME this is a hack to construct name of class from structure aspect, once x-model generation is here, internal type would get replaced with reference macro - line 149: // FIXME this is a hack to construct name of the constant from LCS, once x-model generation is here, would get replaced with reference macro - line 153: // FIXME this is a hack to construct name of class from structure aspect, once x-model generation is here, internal type would get replaced with reference macro core/project/source/jetbrains/mps/library/ModulesMiner.java (4 lines): - line 477: // TODO create module without sources - line 559: // FIXME with no macro expansion on MD persistence, no need to shink anything here - line 710: // FIXME any reason to have this hardcoded 'module/' knowledge, why not specify it in dd.getDescriptorFile()? - line 715: // FIXME any idea why the code below mangles path instead of going up/down with regular FS getParent/getDescendant operations? core/generator/source/jetbrains/mps/generator/ModelGenerationStatusManager.java (4 lines): - line 76: // FIXME invalidateData makes sense only if dispatched once model is already gone - line 116: // FIXME MGSM could take ModelStreamManager.Provider so that (a) we don't need to cache IFile (b) clients like JPS build in IDEA plugin could - line 117: // FIXME control where cache files are read from (at least, the use of GenerationDependenciesCache.CachePathRedirect recently removed from MPSMakeMediator - line 118: // FIXME suggests there are/were scenarios when it's needed. core/kernel/source/jetbrains/mps/persistence/CopyDefaultModelRootHelper.java (4 lines): - line 79: // TODO Since model factory can provide any model implementation - line 80: // TODO model root doesn't know how to exactly copy the content of given model. - line 81: // TODO So model content copying should be carried by model itself. - line 82: // TODO This functionality should be extracted in separate interface (like CopyableSModel). plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/changes/NodeGroupChange.java (4 lines): - line 71: // FIXME irrespective of metamodel access inside createDescription(), it's generally not very good approach - line 260: // FIXME get rid of this dirty magic with role names "pluralization". PLEASE!!! - line 268: // FIXME get rid of this dirty magic with role names "pluralization". PLEASE!!! - line 283: // FIXME get rid of this dirty magic with role names "pluralization". PLEASE!!! core/kotlin-stub/source/jetbrains/mps/kotlin/stubs/metadata/metadataReader.kt (4 lines): - line 38: // TODO data from the header might be of some use, ask to have utilities bundled somewhere or generate the proto ourself - line 54: // TODO load version from klib descriptor and check it - line 73: // TODO this might be incorrect if several source files are merged into the current KNM - line 75: // TODO since the type of KmProperty.file in klibExtensions is Int?, this is useless languages/baseLanguage/closures/source_gen/jetbrains/mps/baseLanguage/closures/helper/ClosureLiteralTarget.java (4 lines): - line 44: // TODO if not, it is probably only applicable for Object as a target, maybe an error is necessary - line 109: // TODO: refactor this code - line 136: // TODO: rewrite throws types matching algorithm - line 167: // TODO: we need a better way to handle wildcards in the substitutes core/kernel/source/jetbrains/mps/smodel/SModelFileTracker.java (4 lines): - line 46: * (there are thousands of models in a project) memory footprint? FIXME Shall measure footprint first, then re-consider - line 97: // FIXME At the moment, there's no notification mechanism to find out about repository gone. - line 123: // FIXME shall I extract this class, similar to RepoListenerRegistrar? Or shall I demand model read provided clients are gonna read model anyway? - line 151: // FIXME may listen to repositories come and go, instantiate (and dispose!) trackers as appropriate editor/editor-runtime/source/jetbrains/mps/nodeEditor/MessagesGutter.java (4 lines): - line 157: // TODO: remove magic number! - line 275: // TODO add update queue to the disposables tree - line 330: // TODO unsure if this is the right way to dispose the queue - line 368: // FIXME I don't like approach with function to tell horizontal mark from vertical plugins/mps-java/workbench/modules/jetbrains.mps.java.workbench/source_gen/jetbrains/mps/java/workbench/actions/ChangeMethodSignatureDialog.java (4 lines): - line 82: // TODO call this constructor inside read action? - line 136: // TODO this manual checking occur because it is quite difficult to suppress errors if validation is enabled. One option is to suppress with the node attribute but it would leave an unwanted visible info - line 172: // TODO only revalidate children? - line 233: // TODO internationalization core/generator/source/jetbrains/mps/generator/impl/GeneratorMappings.java (4 lines): - line 237: // FIXME likely, templateContext.getInput() we've checked already above, would come here again. check what's the contract of getInputHistory! - line 382: // TODO transition all MLs to LabelRecord - line 419: // FIXME shall I track nodes newly introduced at the given checkpoint step? Yes. - line 556: // FIXME in fact, seems more fruitful to keep thread-local instances, don't bother with synchronize, and merge them before references get resolved core/smodel/source/jetbrains/mps/smodel/AssociationData.java (4 lines): - line 26: // FIXME need to decide how to represent 'broken' data and if isDirectNode() mandates immature myImmatureTargetNode != null - line 299: // FIXME takes command context? but it might not be effective to mandate its instance? - line 329: // FIXME may utilize mySourceModel (e.g. try smth like mySourceModel.getNode(targetNodeId) == immatureNode) - line 384: // FIXME could get here when targetModel != null (&& == mySourceModel), i.e. data == LocalNodePtr. Is it right to use data.getTargetModel() then? workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/BaseLogicalViewProjectPane.java (4 lines): - line 135: // FIXME this is to work around code in com.intellij.ide.projectView.impl.AbstractProjectViewPane.createVisitor - line 136: // FIXME which otherwise creates a wrong type of visitor: com.intellij.ide.projectView.impl.ProjectViewNodeVisitor - line 137: // FIXME while this one is needed: com.intellij.ide.projectView.impl.ProjectViewFileVisitor - line 383: // FIXME why is this NOP? core/persistence/source/jetbrains/mps/persistence/binary/ReadHelper.java (4 lines): - line 46: * FIXME consider refactoring to remove duplicating code (e.g. #isInterface or #isRequestedInterfaceOnly) - line 55: // TODO with indices being just a persistence position, shall use arrays instead - line 56: // FIXME has to be SAbstractConcept, see idInfoReadHelper for more info! - line 159: // FIXME could I use myMetaInfo.registry.keySet() instead? core/util/source/jetbrains/mps/util/IterableUtil.java (4 lines): - line 63: * FIXME: conversion of wildcard type to its upper bound breaks container's contract - line 97: * FIXME: conversion of wildcard type to its upper bound breaks container's contract - line 109: * FIXME: conversion of wildcard type to its upper bound breaks container's contract - line 133: * FIXME: as there is no way to reset the iterator, the returned Iterable can only be iterated once IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/psi/impl/MPSPsiProvider.java (4 lines): - line 56: // TODO softReference.. - line 115: // TODO check GlobalSearchScope.projectScope(myProject).contains(modelFile) - line 130: // TODO check if the model is valid - line 242: // TODO: this is a dumb straightforward solution, better use beforeChage*. Or not? core/project-check/source/jetbrains/mps/project/validation/ModelValidator.java (4 lines): - line 86: // FIXME I don't think it's right to exclude transients model here. Why can't I check a transient model, after all? - line 117: // FIXME proper check has to use PersistenceVersionAware and its getModelFactory. However, this induces - line 194: // FIXME could have dedicated problem kind with quick fix to add module import - line 286: // TODO quickFix possible, remove model plugins/execution-configurations/junit/launcher/source_gen/jetbrains/mps/baselanguage/unitTest/execution/launcher/DefaultTestExecutor.java (3 lines): - line 93: // FIXME ++num, really? Streams? - line 98: // FIXME replace with Files.lines() - line 109: // FIXME deleteOnExit is caller responsibility IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/project/StubSolutionIdea.java (3 lines): - line 120: // FIXME in fact, with ClassStubRootConfiguration in place, don't need to replace JDK solution any more, just need to provide proper roots - line 127: // FIXME unregister leads to warnings in ModuleUpdater.updateAllEdges() - line 203: // FIXME there's a lot with this code to get fixed, please, PLEASE take a look at this. core/kernel/source/jetbrains/mps/smodel/ModelDependencyResolver.java (3 lines): - line 53: * FIXME split MDR into two, usedLanguages has to depend from LanguageRegistry only (resolve devkits through LR, not repo) - line 60: * FIXME besides, we need to resolve devkit references to find out used languages, and as long - line 121: // FIXME In fact, shall resolve one through LanguageRegistry, as deployed devkit is no different than workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/ModulePropertiesConfigurable.java (3 lines): - line 305: // FIXME why on Earth do we set module descriptor to a module?! Is there better way to tell module to refresh its settings???? - line 306: //TODO: remove when generator will be separated from language - line 1211: // // TODO: find better solution: this introduces bug, when row can't be resized to smaller height core/project/source/jetbrains/mps/project/dependency/UsedModulesCollector.java (3 lines): - line 40: * FIXME need to specify explicit contract what modules this class expects to receive (either deployed or from project), what are model access expectations, - line 87: // FIXME see collectLanguagesAndDevkits() comment, where I stumbled which approach to extended devkits to take. - line 113: // FIXME have to resort to DeploymentDescriptor, if any, much like RuntimesOfUsedLanguageCalculator.DeploymentStrategy does core/persistence/source/jetbrains/mps/smodel/persistence/def/v9/IdInfoCollector.java (3 lines): - line 68: // FIXME pass smodel here or assert parent == null for input nodes and remove this if() altogether - line 124: // FIXME not quite effective to do it for each child in the role, but decided not to address performance issues until they show up - line 217: // FIXME I consider this fix sufficient for MPS-35421 in 2022.3 timeframe, but need to refactor this code in the future workbench/mps-platform/source/jetbrains/mps/ide/tools/BaseTool.java (3 lines): - line 313: // TODO: remove unused? - line 371: // TODO: make method abstract - fix jetbrains.mps.ide.findusages.view.UsagesViewTool - line 426: // FIXME what's the contract for this method? Seems that it's only BaseProjectPlugin that cares to invoke it. core/kernel/source/jetbrains/mps/smodel/presentation/NodePresentationUtil.java (3 lines): - line 47: * - special presentation for smart. refs. TODO should be removed - line 52: * TODO IResolveInfo now uses mostly to separate matchingText and visibleMatchingText - line 63: * TODO Should be moved to editor-runtime? languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/textGen/BaseLanguageTextGen.java (3 lines): - line 219: // FIXME what's this? Dates back to MPS-13867, is it an optimization or [name].name notation - line 255: // FIXME I suppose this is rather an error when a reference we expect to point to Classifier (or any known exception - line 265: // FIXME don't assume all references use IResolveInfo.resolveInf/INamedConcept.name for presentation. After all, it's Scope that handles getReferenceText/resolve pair core/kernel/source/jetbrains/mps/smodel/Language.java (3 lines): - line 194: // FIXME perhaps, whole reloadAfterDescriptorChange has to be guarded and get executed for attached modules only, including facet reload - line 318: // FIXME there are uses in mbeddr - line 467: // FIXME RADIMIR rename models here core/debuginfo/impl/source/jetbrains/mps/textgen/trace/TraceInfoCache.java (3 lines): - line 117: * search plugin CP completely, too). FIXME however, I'd like to have this fixed with ModuleRuntime.getOwnResource() - line 121: // FIXME We didn't come to a consensus whether we shall read trace.info from deployment or source location (ex: remote debug process, need for source - line 129: // FIXME would be handy to have getOwnResource() right in the ReloadableModule workbench/mps-platform/source/jetbrains/mps/workbench/findusages/MPSModelsFastFindSupport.java (3 lines): - line 71: // FIXME utilize project to deal with dumb mode and use project's FS to get VirtualFile for an IFile - line 222: // FIXME use of VFU.getOrCreateVirtualFile() or fsBridge.asVirtualFile may lead to VF creation for models that reside in project libraries - line 226: // FIXME Perhaps, there's an API to find out whether VF is part of index, so that we don't consume its model here workbench/mps-platform/source/jetbrains/mps/refactoring/ModuleRenameInfo.java (3 lines): - line 83: // FIXME given withNewName() now receives baseName, perhaps, I don't need to keep moduleXXXMatch information any more? - line 132: // FIXME scenario when we rename language-owned generator (lang.name#hash) - we don't want module names to be the same - line 136: assert newBaseName.indexOf('#') < 0; // new name without '#'. FIXME this contradicts with 'user supplies complete name'! ^^ languages/util/makeup/source_gen/jetbrains/mps/lang/makeup/plugin/Makeup_Facet.java (3 lines): - line 104: // FIXME would be nice to have output repository in TextGenOutcomeResource, much like for generator outcome - line 118: // TODO process macro/property values in the location, but assume it's absolute path for now - line 127: // FIXME make FS less picky and/or use a structure for path instead of plain string core/project-check/source/jetbrains/mps/project/validation/LanguageValidator.java (3 lines): - line 67: // FIXME validation of abstract module has to be in superclass. - line 131: // to force them to extend BL just for the sake of this interface. FIXME move IValidIdentifier to lang.core. - line 206: * TODO For the time being, we just look at structure model dependencies from other structure models. editor/intentions-runtime/source/jetbrains/mps/editor/intentions/IntentionMenuProducer.java (3 lines): - line 102: // FIXME I hate cast and dependency it induces to [editor-runtime], but as long there's cyclic dependency - line 139: // FIXME perhaps, IntentionSupport shall supply Factory that creates Runnable from IntentionExecutable to hide - line 183: // FIXME don't like access to myEditor field of outer class core/project/source_gen/jetbrains/mps/project/persistence/ProjectDescriptorPersistence.java (3 lines): - line 44: // FIXME provisional code while I deal with File cons - line 46: // FIXME introduce MacroHelper alternative that shrinks/expands IFile <-> PathOutcome (or just Path) - line 57: // TODO: move from MacrosFactory to PathMacroUtil workbench/mps-editor/source/jetbrains/mps/ide/editor/StyleRegistryIdeaImpl.java (3 lines): - line 72: * FIXME if you now a way to get getColorsScheme().getAttributes(TextAttributesKey.find("MY_CUSTOM_STYLE")) functional, - line 127: // TODO HIGHLIGHT_COLOR, SELECTION_HIGHLIGHT_COLOR attributes for use in NodeItemCellRenderer - line 232: // TODO: check if specified key is valid. We should return null for unknown keys... plugins/mps-devkit/source/jetbrains/mps/ide/devkit/components/NodeExplorerComponent.java (3 lines): - line 135: // TODO: move to base ReferencesTreeNode class as option? - line 155: // TODO: update navigation logic to avoid this copy/paste - line 183: // TODO: add to base SNodeTreeNode class and get rid of this inner class? languages/languageDesign/make/solutions/jetbrains.mps.make.facets/source_gen/jetbrains/mps/lang/core/plugin/ModuleStaleFileManager.java (3 lines): - line 92: // FIXME in fact, seems that I shall keep FileDelta right away, just need to resolve FilesDelta.getDelta() uses (no need to add delta explicitly if shared instance) - line 203: // FIXME module facets and their output location management story is not complete, here is a hack to ensure test models are kept where they used to be - line 227: // FIXME FIXME FIXME need empty "module" delta to make sure per-model individual deltas get merged properly core/generator/source/jetbrains/mps/generator/impl/DefaultStreamManager.java (3 lines): - line 28: * FIXME likely, shall get a different name (to better distinguish from DeployedStreamManager), e.g. WorkspaceStreamManager - line 30: * FIXME move FileGenerationUtil logic in here; move this class out from generator and expose to any model client; replace used of FGU with this class, drop the FGU class. - line 32: * FIXME align with {@link jetbrains.mps.project.facets.GenerationTargetFacet} output location management plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/model/EvaluationWithContextContainer.java (3 lines): - line 119: // FIXME remove Evaluator concept as it's no longer in use (has been part of EvaluationContainer.createEvaluatorNode(), recently removed) - line 198: // FIXME I wonder if this code to respect stub models first is related to the face EvaluationModule used to expose its - line 244: // FIXME return value is ignored (callback is employed instead), shall change IEvaluationContainer.copy to reflect this core/aspects/behavior/behavior-api/source/jetbrains/mps/core/aspects/behaviour/api/BHDescriptor.java (3 lines): - line 38: * FIXME All the invocation methods rely ONLY on the SMethodId so the signatures must be changed. The use SMethod only to do some checks before invocation. - line 39: * FIXME That is -- we do not care for SMethod#getConcept anywhere here - line 40: * FIXME Also the instructions #invokeVirtual, #invokeNonVirtual are to be separated as well plugins/debugger-java/api/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/transform/TransformatorImpl.java (3 lines): - line 425: // TODO we really process all(?) static field references now, so might wanna move this code out of while cycle - line 460: // TODO what if we are inside of an inner class? - line 477: // TODO should we check for parameter types, like we did for static method calls? workbench/mps-workbench/source/jetbrains/mps/plugins/PluginSorter.java (3 lines): - line 29: // TODO: remove another implementation graph from here! - line 30: // FIXME: notice that we do tolerate cycles here - line 63: // FIXME myModules.contains hides transitive dependencies, is it what we need here?! core/tool/ant/source_gen/jetbrains/mps/build/ant/generation/GenerateTask.java (3 lines): - line 37: // FIXME decide whether I care to evolve manifest story. With reliable s, don't think there's much value in - line 40: // FIXME same in MpsRunnerTask; have to be xml parsing - line 105: // FIXME shall follow GeneratorSettings approach and extract a distinct compile settings typedef core/kernel/source/jetbrains/mps/smodel/DynamicReference.java (3 lines): - line 44: * FIXME Either stop extending {@code SReferenceBase} (there's no use of its mature/young myImmatureTargetNode and myTargetModelReference) - line 125: // FIXME use of (this) works as long as equals/hashCode is right. Consider using another identity object - line 239: * not for a newly created reference. FIXME perhaps, could change setData() to account for this case plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/newparser/JavaParser.java (3 lines): - line 62: // TODO use full recovery - line 134: // TODO construct typeResolver from parent node context - line 598: // FIXME temp hack around typesystem looping when resolving certain dyn.references workbench/mps-platform/source/jetbrains/mps/project/MPSProject.java (3 lines): - line 150: // FIXME avoid calling ComponentManger.getComponent - line 164: // FIXME avoid calling ComponentManger.getComponent - line 214: // FIXME In fact, Aleksey Pivovarov suggests VCS has to pick up VFS changes automatically, perhaps, we could just workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/workbench/dialogs/project/properties/project/ProjectFilesModel.java (3 lines): - line 92: // FIXME WHY DO WE CARE TO SORT WITH VALIDITY CHECK???? - line 98: // FIXME Could avoid using StandaloneMPSProject directly by instanceof PersistentStateComponent - line 119: // FIXME perhaps, we shall just write the file down and let IDEA pick up the changes? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/api/members/SourcedSignature.java (3 lines): - line 19: * TODO : set API for custom components - line 23: * TODO if such behavior adopted, remove node specification (as the source may not be the target) - line 24: * TODO otherwise, replace sourced signature whenever used by the tuple (source node, signature) plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/platform/integration/ModelMergeViewer.java (3 lines): - line 64: // FIXME why do we care about TextMergeRequest only, I believe we can handle BinaryMergeRequest, too! - line 92: // FIXME there's a very odd code, `model repoModel = baseModel/.getReference().resolve(null);`!!! - line 140: // FIXME there's no support to "revert changes", on false, from save() merge simply doesn't complete. Why was this option there?! core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/metadata/KtAnnotationParser.java (3 lines): - line 44: // TODO change structure to enforce that? - line 77: // TODO is "u" and "L" included in string? that could simplify conditions - line 92: // TODO in principle, we already resolve the parent class type, this makes superfluous solving core/project/source/jetbrains/mps/library/SLibrary.java (3 lines): - line 147: // FIXME it's odd there's no module, - line 161: // FIXME need a better mechanism to find out MD kind than instanceof. E.g. DeployedDescriptor is the same for any module, once we - line 224: // FIXME it shall be myFileTracker that is responsible for listener attach/detach on track/forget, though have to figure out how IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/project/SolutionIdea.java (3 lines): - line 94: // FIXME Not sure there's need for descriptor file for this module; supposed to fix MPS-26338. - line 298: // TODO: implement saving functionality here. - line 384: // TODO: find a better solution plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/RootFileHistoryExtractor.java (3 lines): - line 97: // FIXME report somehow - line 122: // FIXME report the exception in UI - line 152: // FIXME instead of this assumptions, may want to introduce "closing tag" flag into NodeLineContent to detect start/end of a node range properly core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/references/KotlinClassReference.java (3 lines): - line 52: // TODO not supported - line 58: // TODO not supported - line 63: // TODO not supported editor/editor-runtime/source/jetbrains/mps/nodeEditor/selection/NodeRangeSelection.java (3 lines): - line 295: // FIXME see SelectionInfoImpl#createSelection for refactoring considerations - line 328: // TODO: handle delete action similar to all other actions (using corresponding editor component action) - line 408: // TODO: enlargeSelection action should be handled specifically by executeAction() method core/textgen/source/jetbrains/mps/text/TextGeneratorEngine.java (3 lines): - line 154: * FIXME need better API to deal with outputs other than text - line 162: // FIXME perhaps, TextGenModelOutline deserves a refactoring to tell sequence of SNode instead of SModel? - line 167: // FIXME needs access to ComponentHost plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/editor/AddDeleteKotlinFunctionCallArgument.java (3 lines): - line 35: // TODO implement for kotlin? - line 64: // TODO implement for kotlin? - line 91: // TODO implement for kotlin? core/kernel/source/jetbrains/mps/extapi/model/EditableSModelBase.java (3 lines): - line 177: // FIXME I wonder if resolve process has to be blocked on per-model or repository level? Keep it the way it used to be. However, with - line 310: // TODO update SModelId (if it contains modelName) - line 339: //TODO apply to normal persistence as well to fix MPS-32728 core/project/source/jetbrains/mps/project/structure/DescriptorModelComponent.java (3 lines): - line 105: // FIXME would benefit of generic ModelChanged event here, to avoid tracking each distinct node change - line 217: // FIXME would benefit from SModuleAttachListener, like SRepositoryAttachListener, to get the code to attach to each model in a single place - line 218: // FIXME need a MODULE LISTENER mechanism to find out about MODEL changes to avoid adding listeners to model instances languages/languageDesign/make/solutions/jetbrains.mps.make.facets/source_gen/jetbrains/mps/lang/core/plugin/TextGen_Facet.java (3 lines): - line 248: // FIXME status.getOutputRepository is the one to lock for breakDownToUnits (down in schedule() call), and, perhaps, for the outer runReadAction here, too. - line 359: // FIXME check if I can dispatch TResource without a model, if clients could tolerate that. If yes, get rid of ResourceDeltaCollector and report delta from ModuleStaleFileManager - line 428: // FIXME need an expression in ReportFeedbackStatement that would take Throwable and pass it to IFeedback workbench/mps-platform/source/jetbrains/mps/nodefs/NodeVirtualFileSystem.java (3 lines): - line 320: * FIXME the only reason we don't use single listener instance (we can obtain proper SRepository from the change event's model/node) - line 321: * FIXME is that our project repository implementation is not capable of event sending, all events come from global repository. - line 361: // TODO single listener instance and find RVF by repo core/persistence/source/jetbrains/mps/persistence/FilePerRootModelFactory.java (3 lines): - line 211: // FIXME replace with SingleStreamSource - line 231: // FIXME seem that we don't handle nodes with the same name correctly. Check NodeHistoryUtil and its use of - line 235: // FIXME FilePerRootFormatUtil.getStreamNames() handles fileName.isEmpty scenario (i.e. not INamedConcept as root), why not here? workbench/mps-workbench/source/jetbrains/mps/plugins/runconfigs/MPSPsiElement.java (3 lines): - line 42: * FIXME rewrite into several classes instead of this with Object field - line 68: this(project, model, false); // FIXME deal with isTransientElement() - line 76: this(project, module, false); // FIXME deal with isTransientElement() core/project/source/jetbrains/mps/project/ProjectModuleLoader.java (3 lines): - line 62: * FIXME what about modules without path, i.e. those without descriptor file. Perhaps PML shall care about - line 359: // FIXME seems reasonable to - line 366: // we don't care if the module is registered in a repo or not. FIXME update listener to take SModuleReference instead plugins/mps-kotlin/languages/kotlin.smodel/generator/source_gen/jetbrains/mps/kotlin/smodel/generator/templates/QueriesGenerated.java (3 lines): - line 116: // TODO what if variance is in? - line 120: // TODO what if variance is in? - line 384: // TODO make that behavior generic in type parameters definition? (some "isSugar" method?) core/kernel/source/jetbrains/mps/smodel/ActionDispatcher.java (3 lines): - line 116: // FIXME here we are likely in an invalid state (onEntry succeed, onExit didn't grab myNotifyGuard), - line 222: // FIXME guess, would be better to dispatch on reversed list, to resemble an order of start notification - line 277: // FIXME there's ClassLoaderManager.init that attaches listeners inside model write and expects to receive 'start' notification, otherwise workbench/mps-platform/source/jetbrains/mps/workbench/action/MPSActions.java (3 lines): - line 31: // FIXME make a CoreComponent, so that BaseApplicationPlugin.dispose doesn't need to - line 32: // FIXME doesn't have any state, just a set of utility methods no reason to be CoreComponent. - line 88: // TODO: remove the workaround core/patternRuntime/source/jetbrains/mps/lang/pattern/util/MatchingUtil.java (3 lines): - line 38: // FIXME seems to be the only class in patternRuntime to use [kernel], not [openapi]. Perhaps, worth moving into [kernel]? - line 41: // FIXME there are still few uses in mbeddr! - line 45: // FIXME we enforce same child ordering here, while code above is bit relaxed for references or properties. Is it intended? core/kernel/source/jetbrains/mps/smodel/SModelOperations.java (3 lines): - line 99: // FIXME decided to keep this method with JMF and gradually deprecate/remove its usages, - line 153: // FIXME needs LanguageRegistry or ComponentHost - line 154: // TODO document contract what constitutes imported models (i.e. accessory models of extended languages) plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/util/DependenciesHelper.java (3 lines): - line 46: // FIXME eventually (if DH persists), could at least become 'step' object; - line 105: // FIXME shall respect layoutNode as there are chances to have same 'key' (e.g. BuildMps_AbstractModule) exposed through - line 117: // FIXME see putLayoutRelativePath for details workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/roots/editors/ModelRootContentEntriesEditor.java (3 lines): - line 97: // FIXME grab model read? - line 304: // FIXME it's odd we go to ModelRoot when in fact we have to edit ModelRootDescriptor, remove usages of this method - line 402: // TODO [artem] I don't like this instanceof check, perhaps, it's better to supply defaults in ModelRootFactory#create()? workbench/mps-workbench/source/jetbrains/mps/ide/bookmark/BookmarkManager.java (3 lines): - line 65: /* TODO: think of reusing com.intellij.ide.bookmarks.Bookmark: - line 386: // TODO: remove copy/paste see todo on class - line 475: // TODO: remove copy/paste see todo on class languages/baseLanguage/references/runtime/source/jetbrains/mps/references/BLOperations.java (3 lines): - line 22: * TODO implement every overloading - line 23: * TODO maybe worth to automatically generate - line 24: * TODO do we need handle cases like 'int += long'??? In java, it is desugared to 'i = (int) (i + l)' workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/tool/environment/IdeaEnvironment.java (3 lines): - line 57: * TODO: fix dispose methods - line 89: // FIXME IJ doesn't allow to use our own logging initialization. - line 274: // FIXME refactor do avoid code duplication with closeProject core/tool/common/source_gen/jetbrains/mps/tool/common/ScriptData.java (3 lines): - line 22: * FIXME deserves better name - line 24: * FIXME auxiliary properties are likely not part of MPS startup sequence - line 25: * FIXME myLibraries - what the hell is 'name' key, and do I really want to stick to File there provided I may use macro values as part of a library path core/project/source/jetbrains/mps/project/facets/GenerationTargetFacet.java (3 lines): - line 35: * FIXME what about make scenario, with output location re-defined? Perhaps, facet shall tell relative location only (Path instead of IFile), while Make - line 46: * TODO Perhaps, Make process may pick appropriate {@code GenerationTargetFacet} based on {@link SModuleFacet#getFacetType() facet type} - line 101: * TODO Perhaps, worth adding static methods like {@code getOutputCacheLocation(SModel):Stream} to simplify iteration over all GTFs core/kernel/source/jetbrains/mps/classloading/CLDependencies.java (3 lines): - line 53: * FIXME consider switching to a wrapper (SDependency, perhaps) with SModuleReference and dependency kind (for traceability, where - line 69: // FIXME assumed jmf != null as it's odd to load a module (ask for CL deps) without one - line 107: // FIXME when building dependencies of module.xml, we shall stick to identical logic, so that this code branch and ddIfPresent() branch, above, core/openapi/source/org/jetbrains/mps/openapi/model/SNode.java (3 lines): - line 239: * FIXME dynamic references are generally not persisted, don't use them in models that are serialized using regular MPS persistence - line 243: * FIXME null for resolveInfo - does it mean anything specific (broken dynamic reference or dropReference?) - line 292: // FIXME replace with setReference(SReference) or setReference(SReferenceLink link, SNode source, SNode target). core/kernel/source/jetbrains/mps/smodel/Generator.java (3 lines): - line 229: // FIXME odd... - line 257: // FIXME all referenced generators are of 'extends' dependency at the moment - line 297: // FIXME MM, please tell me what to use instead! SModuleOperations.getAspect(SModule, "structure") isn't nice alternative for hand-written code. plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/behavior/BuildMpsLayout_Plugin__BehaviorDescriptor.java (3 lines): - line 74: // TODO extract! (it is a copy of Folder behavior) - line 159: // TODO extract! (it is a copy of Folder behavior) - line 187: // FIXME copied from BuildLayout_Folder.exports to support 'files from' under 'plugin' layout workbench/mps-workbench/source/jetbrains/mps/ide/ui/FindTextInModelDialog.java (3 lines): - line 375: // TODO get editor line height, replace 0 by it * 15 - line 499: // FIXME transient == true just because result provider (and, perhaps, search query) could not get serialized - line 594: // TODO might serve no purpose here (we issue new search with new callback every time) core/kernel/kernelSolution/source_gen/jetbrains/mps/smodel/ModuleDependencyVersions.java (3 lines): - line 122: // FIXME I don't like this method, but don't want to bother refactoring it now - line 190: // TODO move this check somewhere else - line 259: // TODO [MM] get rid of this method, check on model load etc. plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/changes/NodeGroupNotMoveChange.java (3 lines): - line 77: // FIXME get rid of this dirty magic with role names "pluralization". PLEASE!!! - line 85: // FIXME get rid of this dirty magic with role names "pluralization". PLEASE!!! - line 100: // FIXME get rid of this dirty magic with role names "pluralization". PLEASE!!! core/textgen/source/jetbrains/mps/text/impl/TextGenRegistry.java (3 lines): - line 87: // FIXME default implementation doesn't expect null node - line 105: // TODO HashSet seen = new HashSet(); - line 144: // FIXME likely, shall collect all extended languages as well, as there might be instances of a language without textgen in the model, workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/hierarchy/BaseLanguageHierarchyViewToolState.java (3 lines): - line 115: // FIXME there's ClassifierSuccessor index we can use here, although shall not use them directly - line 148: * TODO let user control whether he needs to include transient/temporary models into the scope - line 155: // FIXME this is just direct replacement of AllUserModelsScope logic plugins/debugger-java/api/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/transform/TransformationUtil.java (3 lines): - line 128: // TODO in some cases, we might actually support anonymous classes creation - line 151: // TODO use this method everywhere - line 186: // TODO this is not completely correct: model can contain several classes core/project/source/jetbrains/mps/project/structure/GenericDescriptorModelProvider.java (3 lines): - line 75: // FIXME LoadClasses.ManagedByMPS is a quick HACK to get solutions like bl.runtime, closures.rt and collections.rt to generate - line 118: // FIXME copy explanation why module.unregisterModel goes in front of myModels.remove from GeneratorDescriptorModelProvider#forgetModule - line 133: // FIXME how come I'm sure there's model write for dispose()? plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/common/DiffModelTree.java (3 lines): - line 53: // FIXME This code deserves a refactoring much like MergeModelsPanel, as there's unlikely need for repository lock when we diff detached models. - line 130: // TODO replace this condition with explicit configuration method #needsModelPropertiesNode(boolean) - line 148: // FIXME there's hidden assumption that null rootId means 'select model properties changes' core/generator/source_gen/jetbrains/mps/generator/impl/GenPlanTranslator.java (2 lines): - line 78: // FIXME provide few GPT instances, perhaps? Could produce separate GPT for Plan and for PlanContribution, and then match GPT comparing getPlanIdentity() - line 149: // FIXME compatibility code to facilitate transition. Now `transform ` means workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/logicalview/LogicalProjectViewNode.java (2 lines): - line 147: // FIXME the method getSettings in superclass should be made open - line 313: // FIXME this code is kept around only for the lack of a better alternative core/kernel/source/jetbrains/mps/project/DevKit.java (2 lines): - line 43: /* TODO make package local, move to appropriate package */ - line 73: // FIXME in fact, shall produce SLanguage, not Language module here workbench/mps-platform/source/jetbrains/mps/ide/MPSCoreComponents.java (2 lines): - line 67: // FIXME check ApplicationInitializedListener and extpoint if they can serve MPSCoreComponents initialization task - line 146: // FIXME avoid calling ComponentManger.getComponent plugins/mps-core/languages/languageDesign/table/runtime/source_gen/jetbrains/mps/lang/editor/table/runtime/TableModelFactory.java (2 lines): - line 11: // TODO: not used anymore, remove after MPS 3.5 release - line 16: // TODO: make abstract after MPS 3.5 release plugins/mps-kotlin/ide/jetbrains.mps.kotlin.idePlugin/source/jetbrains/mps/kotlin/idePlugin/fastSearch/KotlinStubModelsFastFindSupport.kt (2 lines): - line 96: // TODO to maintain on MPS side! - line 156: // FIXME see MPSModelsFastFindSupport.findCandidates, there's need for additional VF check core/kernel/source/jetbrains/mps/persistence/DefaultModelRoot.java (2 lines): - line 513: * without using IFile/File objects. FIXME Perhaps, need a similar method with String parameters to satisfy both worlds? - line 554: // FIXME revisit, now save() is much more relaxed about IFile use. Still uses MacroFactory, though editor/editor-runtime/source/jetbrains/mps/nodeEditor/EditorContext.java (2 lines): - line 175: // TODO: replace all usages by updater.flushModelEvents() ? - line 333: // FIXME quite an odd exposure of EC internals for the sake of single EditorCell impl. Perhaps, core/aspects/behavior/behavior-runtime/source/jetbrains/mps/core/aspects/behaviour/EmptyBHDescriptor.java (2 lines): - line 63: // TODO review contract; see MPS-22391 - line 69: // TODO review contract; see MPS-22391 languages/baseLanguage/closures/source_gen/jetbrains/mps/baseLanguage/closures/typesystem/ClassifierType_subtypeOf_ClosureLiteralType_InequationReplacementRule.java (2 lines): - line 62: // TODO this is a hack to use "typevar T", without using the actual expression that does not get generated - line 162: // TODO this is a hack to use "typevar T", without using the actual expression that does not get generated core/generator/source/jetbrains/mps/generator/template/TemplateQueryContext.java (2 lines): - line 147: // FIXME if we enforce inputNode != null here, why does findOutputNodeByInputNodeAndMappingName() tolerates null inputNode then? - line 173: // FIXME it's not 'local' as long as we perform delegation to shared labels through generator instance there editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/EditorCell_Collection_Container.java (2 lines): - line 85: // TODO: remove cast to EditorCell_Basic - line 94: // TODO: remove cast to EditorCell_Basic core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/jvm/KotlinAwareClassifierUpdater.java (2 lines): - line 90: // TODO here, we get two stereotype variables, though it is unlikely we get both java and kotlin results at once, we may find a better way to handle that (getting the node id, adding .name for instance?) - line 129: // TODO make parent method generic? only the link changes plugins/mps-devkit/languages/pluginSolutions/baseLanguage/source_gen/jetbrains/mps/baseLanguage/pluginSolution/plugin/ChooseNodeDialog.java (2 lines): - line 48: * FIXME why not regular NodeChooserDialog, why dedicated class with custom tree? - line 49: * FIXME we use project here to access repository, although outer code uses repository from EditorContext plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/client/TestDescriptorWrapper.java (2 lines): - line 72: // FIXME usages of ITestNodeWrapper are really inconsistent: some generic, some raw - line 96: // FIXME with MPS-38953 in plan, we can drop JUnit3 discovery code which seems to be the only source for compatibilityMode workbench/mps-workbench/source/jetbrains/mps/ide/editor/tabs/TabRootNodesTracker.java (2 lines): - line 54: * FIXME for the time being, treats any model/root node removal as worth tab rebuild, perhaps shall respect actual documents (TabsComponent#getAllEditedDocuments()) - line 56: * FIXME I don't like the idea of idea service for an otherwise pure-MPS repo listener, editor/editor-api/source/jetbrains/mps/openapi/navigation/NavigationSupport.java (2 lines): - line 33: * FIXME it's odd to require external methods to wrap into read/write/EDT if we can do it ourselves here (with project and its model access available) - line 34: * FIXME it's odd this class lives in [editor-api], why not in platform/ui? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/dataFlow/SmartCastEvaluator.java (2 lines): - line 106: // TODO should break anterior lambda dataflow for this variable: have some object containing the current status for lambdas scope - line 107: // TODO read and implement the smart cast sink concept https://kotlinlang.org/spec/type-inference.html#effectively-immutable-smart-cast-sinks workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/treeholder/treeview/ViewOptions.java (2 lines): - line 90: // TODO persistence for categories array - line 110: // TODO persistence for categories array workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/workbench/findusages/StubModelsFastFindSupport.java (2 lines): - line 136: // FIXME make sure there's index for concept qualified name! - line 195: // FIXME see MPSModelsFastFindSupport.findCandidates, there's need for additional VF check plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/behavior/KotlinClassifierType__BehaviorDescriptor.java (2 lines): - line 52: // TODO this visitor/implementation may not handle raw types - line 66: // TODO unlike ClassifierType, recursion is handled by SuperClassesGenericVisitor, is that correct? jps/jps-plugin/src/jetbrains/mps/jps/build/MPSModuleLevelBuilder.java (2 lines): - line 143: // TODO rewrite MPS JPS integration: introduce our own BuildTarget (not reuse ModuleBuildTarget) and define - line 144: // TODO getOutputRoots() so that it returns our generator output path. This way JPS will clear it upon rebuild workbench/mps-workbench/source/jetbrains/mps/ide/editor/tabs/TabbedEditor.java (2 lines): - line 147: // FIXME what if we create two+ aspects in a row, who's responsible to dispose inactive CreatePanel instances? - line 231: // FIXME suggest create new? Use CreatePanel? languages/baseLanguage/closures/source_gen/jetbrains/mps/baseLanguage/closures/typesystem/ClosureLiteralType_subtypeOf_ClassifierType_InequationReplacementRule.java (2 lines): - line 60: // TODO this is a hack to use "typevar T", without using the actual expression that does not get generated - line 156: // TODO this is a hack to use "typevar T", without using the actual expression that does not get generated plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/typesystem/check_IClassLike_InheritedMembers_NonTypesystemRule.java (2 lines): - line 99: // TODO offer some quick fixes, which is not an obvious task since we get signatures and concepts - line 109: // TODO delegates are not handled here so we skip this check for them for now core/generator/source/jetbrains/mps/generator/TransientModelsProvider.java (2 lines): - line 289: // FIXME likely not SModelData but extapi.model.TransientSModel, perhaps. Or any other openapi.SModel? Or custom BinaryPersistance variant dealing with SModelData? - line 292: // FIXME swapOut():Token and use token here, instead of SModelReference editor/editor-runtime/source/jetbrains/mps/nodeEditor/ReferencedNodeContext.java (2 lines): - line 27: // TODO: move to jetbrains.mps.nodeEditor.updater package, make package-local - line 39: // TODO: Simplify information persisted in this context object workbench/mps-workbench/source/jetbrains/mps/plugins/PluginLoaderRegistry.java (2 lines): - line 470: // FIXME this is a workaround, need a proper fix. I don't understand the limitation of ActionManager/EDT, - line 523: // FIXME although with our own code we can have sort of 'staged' reset here, and 'revert' reset() in case jps/jps-plugin/src/jetbrains/mps/jps/model/JpsMPSRepositoryFacade.java (2 lines): - line 298: // FIXME we never get here as though we register libSolution with myProject as owner, we do not add the module to the project, hence myProject.getProjectModules gives nothing - line 387: // FIXME what's this for? plugins/mps-kotlin/ide/jetbrains.mps.kotlin.idePlugin/source_gen/jetbrains/mps/kotlin/idePlugin/fastSearch/KtModuleIndexer.java (2 lines): - line 68: // TODO is deprecated without offering replacement options - line 239: // TODO here, we cannot really create reference to the parameter plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/RefactoringScriptCollector.java (2 lines): - line 86: // FIXME dependency version extraction shall be through SModuleReference - line 92: // FIXME quite stupid, imo, extra check if language/module of a RS is part of module dependencies - provided we built workbench/mps-platform/source/jetbrains/mps/ide/vfs/IdeaFileSystem.java (2 lines): - line 65: // FIXME once/if we remove all uses of this method, could be not a component/service, just a POJO direcly instantiated by MPSCoreComponents - line 183: // FIXME move setFS code into vfsManager core/util/source/jetbrains/mps/util/AbstractSequentialIterator.java (2 lines): - line 53: //TODO: throw new NoSuchElementException(); - line 71: //TODO: throw new NoSuchElementException(); IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/library/ModuleLibrariesUtil.java (2 lines): - line 57: // FIXME shall refactor this code so that I don't need to grab model read. The only thing we use module for is its descriptor file. - line 61: // FIXME hasModule first checks if module is proper solution - no reason to perform the check for each library core/generator/source/jetbrains/mps/generator/impl/TemplateNode.java (2 lines): - line 135: * FIXME would be nice to have these as collection of TemplateNode right away, but need to deal with macro handling first - line 282: * FIXME why don't we look into IResolveInfo in case target is instanceOf? core/kernel/source/jetbrains/mps/smodel/GlobalModelAccess.java (2 lines): - line 53: * FIXME: - line 66: * FIXME: CommandProcessor tolerates null project, why don't we support commands from this ModelAccessor? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/IResolvableReference__BehaviorDescriptor.java (2 lines): - line 37: // TODO make abstract when there is a need for this be implemented - line 48: // TODO error there! workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/workbench/findusages/InternalModelsFindUsagesParticipant.java (2 lines): - line 44: // FIXME why on earth do we consume descriptor model here? Though it's internal model indeed, why there's assumption it's empty and what's wrong with an empty model - line 56: // FIXME see above plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/breakpoints/BreakpointsIconCache.java (2 lines): - line 96: // FIXME I don't think it's a nice idea to handle icons the way they are handled now. Just don't want to get too deep into all this crap. - line 165: // FIXME is there any true reason to cache icons? There's quite simple logic behind core/generator/source/jetbrains/mps/generator/plan/CheckpointIdentity.java (2 lines): - line 22: * FIXME Once I've got a better idea what I can use to identify CP, this class likely shall become - line 37: // FIXME CheckpointIdentity with Checkpoint argument uses human-friendly name, while core/kernel/source/jetbrains/mps/smodel/SNodeMatcher.java (2 lines): - line 41: // FIXME the only dependency to [kernel] is due to use of generated AttributeOperations, otherwise could move up to [smodel] or [openapi]? - line 215: // FIXME revisit, perhaps, shall use approach similar to that in NodesMatcher and its obscure myMap core/vfs/source/jetbrains/mps/vfs/refresh/FileSystemEvent.java (2 lines): - line 26: * FIXME we merge all the fs events into one pile illegally - line 27: * FIXME while sometimes we prefer to have a list of consequtive events plugins/mps-build/languages/build/generator/source_gen/jetbrains/mps/build/generator/template/main/QueriesGenerated.java (2 lines): - line 498: // FIXME introduce a dedicated interface for layout nodes that are capable of getOutputPath_WithMacro - line 1830: // FIXME desperately need a way to address template input in a way like reduce_FilemodeRootFileset.input plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/MigrationCheckerImpl.java (2 lines): - line 59: // FIXME MigrationSetup is an initial set of migrations for a project/set of modules, and is in use in checkMigrations() only - line 175: // FIXME MigrationTrigger calls this with model read. However, PostCheckError.prepare seems to be invoked w/o ano model access; need consistency plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/newparser/ASTConverterWithExpressions.java (2 lines): - line 480: // TODO report error - line 673: // TODO what is enclosing instance? handle it editor/editor-runtime/source/jetbrains/mps/nodeEditor/IntelligentInputUtil.java (2 lines): - line 99: // TODO: no idea what the default value should be here, no docs whatsoever - line 351: // FIXME need a mechanism like myEditorContext.getComponentHost().findComponent(CR.class), just need to figure out how to pass CH into the editor. core/kernel/source/jetbrains/mps/classloading/GraphHolder.java (2 lines): - line 85: W old = update(v, value);// FIXME perhaps, shall rather be an exception thrown here - line 203: // TODO : merge with jetbrains.mps.util.Graph (mps.util.Graph needs to be modified for a bit) languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/ResourceVariableHelper.java (2 lines): - line 25: // FIXME see MPS-34205, ExtractMethodRefactoring invokes TryUniversalStatement behavior - line 27: // FIXME proper fix is to change ExtractMethodRefactoring logic not to invoke behavior for detached nodes. plugins/mps-kotlin/languages/kotlin.javaRefs/source_gen/jetbrains/mps/kotlin/javaRefs/behavior/MembersPopulatingContextWrapper.java (2 lines): - line 52: // TODO we would need to have a contextual node to filter visibility there, but it is not possible with the current IType API - line 66: // TODO ? languages/languageDesign/make/solutions/jetbrains.mps.make.facets/source_gen/jetbrains/mps/lang/core/plugin/Generate_Facet.java (2 lines): - line 468: // FIXME reporting performance here is provisional until I learn(decide) how to publish it - line 480: // FIXME in fact, we need a mechanism to pass all/filtered dictionary values to a new transformed resource plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/VisibleModules.java (2 lines): - line 89: // FIXME given we use only UUID of module identity to resolve modules, myName2Module is of no use for us. Besides, it forces unique module names, something we don't really care about. Why not to drop it altogether? - line 114: // FIXME need a better fix, shall record language modules using their id separately from core/generator/source/jetbrains/mps/generator/impl/GenControllerContext.java (2 lines): - line 92: // FIXME pass LanguageRegistry or (better yet) ComponentHost to GenerationFacade and then here, into this class - line 100: // FIXME same as getLanguageRegistry plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/typesystem/typeof_IKotlinFunctionLikeCall_InferenceRule.java (2 lines): - line 91: // TODO implement for kotlin? - line 217: // TODO implement for kotlin? IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSPsiParameter.java (2 lines): - line 80: // TODO: is there better way to get instance of some concept? - line 102: // FIXME return something instead of null or remove unused variable editor/editor-runtime/source/jetbrains/mps/nodeEditor/EditorSettings.java (2 lines): - line 91: * TODO: find a way to avoid this hack - line 398: // FIXME once 2022.3 is out, remove fields denoted with @Transient core/generator/source/jetbrains/mps/generator/GenerationStatus.java (2 lines): - line 89: * FIXME Perhaps, repository should be part of GResource, instead. Design of the whole thing is not clear to me yet. - line 129: // FIXME Likely, shall not expose complete CME but rather part of it devoted to CP models that needs to be saved. workbench/mps-editor/source/jetbrains/mps/ide/editor/BaseNodeEditor.java (2 lines): - line 177: // FIXME I believe next keys, namely MPS_PROJECT and PROJECT, have to be part of DataProvider in - line 190: // TODO if (BaseNodeEditor.this instanceof DataProvider) cast+invoke or at least default impl for getData workbench/mps-editor/source_gen/jetbrains/mps/ide/editor/actions/EditorActionUtils.java (2 lines): - line 44: // TODO: remove this limitation - line 59: // TODO FIXME rewrite without hasSingleRolesAtLeftBoundary, cleanup ChildrenCollectionFinder plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcspersistence/ModelSack.java (2 lines): - line 113: // FIXME NotNull return value, the rest is exception (now, getContentBytes() could silently produce null) - line 152: // FIXME would be great to get rid of per-root detection code eventually. Now, with ContentOption, we got load() covered, but there are still uses in save() core/generator/source/jetbrains/mps/generator/impl/plan/RigidPlanBuilder.java (2 lines): - line 76: continue; // FIXME throw an RT exception - line 80: continue; // FIXME throw an RT exception workbench/mps-editor/source/jetbrains/mps/ide/editor/icons/NodeFileIconProvider.java (2 lines): - line 53: // FIXME isn't it odd to require editor to provide an icon for an MPSNodeVirtualFile? - line 62: // TODO: get current empty tab component in MPSEditorUtil by using ((TabbedEditor) nodeEditor).myTabsComponent.getCurrentTabAspect()[.getIcon] plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/IStatementHolder__BehaviorDescriptor.java (2 lines): - line 48: // TODO Would need the index of the insertion as well here (passing full ReferenceConstraintsContext would be ideal) - line 66: // TODO the result should be supplied in reverse order, or make this return items in regular order core/project/source/jetbrains/mps/project/dependency/ModelDependenciesManager.java (2 lines): - line 66: * FIXME perhaps, worth moving to subpackage of j.m.smodel, as it's pure model functionality, unrelated to project - line 216: // FIXME In 2019.1, we shall drop cache update of ModelDependenciesManager as it's odd to refresh thousands (8k in mbeddr!) of repository workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/fileSystem/FileViewProjectPane.java (2 lines): - line 201: // TODO: Verify correct Disposable used - line 391: // FIXME how it's related to AbstractProjectViewPane.isAutoScrollEnabledFor(VirtualFile)? languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/generic_ClassfierType_subtypeOf_generic_ClassifierType_InequationReplacementRule.java (2 lines): - line 139: // TODO this is actually an equivalence relation - line 209: // TODO this is actually an equivalence relation core/kernel/source/jetbrains/mps/smodel/language/LanguageRuntime.java (2 lines): - line 70: public abstract SLanguageId getId(); // FIXME supply a cons that takes mandatory values (id, name), rather than overriding methods in generated classes - line 161: * FIXME why Iterable? core/kernel/source/jetbrains/mps/smodel/language/LanguageRegistry.java (2 lines): - line 329: // FIXME this is compatibility code. Language RT generated prior to 2018.1 included #getGenerators() implementation for interpreted templates, - line 541: generatorRuntime[0].deactivate(); // TODO unite with MR.Activator interface core/openapi/source/org/jetbrains/mps/openapi/model/SModelListener.java (2 lines): - line 30: * FIXME we lack tests that state aforementioned contract for notifications. - line 32: * FIXME may be useful to provide modelChanged() notification to avoid attaching node change listeners just to figure out if model has been changed. IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/project/ModuleRuntimeLibrariesImporter.java (2 lines): - line 74: // FIXME need to sort this out to avoid unnecessary locks, hidden from outside world - line 79: // FIXME the code doesn't look right for added used languages scenario, why don't we stick to SLanguage.getLanguageRuntimes() plugins/mps-diagram-editor/runtime/source_gen/jetbrains/mps/lang/editor/diagram/runtime/jetpad/palette/impl/AbstractPaletteCreationAction.java (2 lines): - line 36: // FIXME the moment there's SConcept, not SNode, #init() down here doesn't need model read any more - line 45: * FIXME protected method invoked from a cons is a bad pattern (e.g. subclasses may face uninitilized final fields if overide this method), please redesign! plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/ModulePlugins.java (2 lines): - line 55: boolean __FIXME = !("com.intellij.modules.mps".equals(SPropertyOperations.getString(plugin, PROPS.id$W4AX))); - line 62: if (__FIXME || ListSequence.fromList(SNodeOperations.getNodeDescendants(SLinkOperations.getTarget(buildProject, LINKS.layout$r7bw), CONCEPTS.BuildMpsLayout_Plugin$cj, false, new SAbstractConcept[]{})).any((layout) -> SLinkOperations.getTarget(layout, LINKS.plugin$9ewC) == plugin)) { core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/metadata/KtClassParser.java (2 lines): - line 90: // TODO make it an extensible mechanism? - line 146: // TODO unhandled inline class underlying property (for value classes) core/generator/source/jetbrains/mps/generator/runtime/TemplateContext.java (2 lines): - line 96: * @param callSiteNode FIXME decide whether null is valid argument (do I need to clear call - line 98: * @return object with recorded site FIXME decide if I can set value into the same TC instance - I don't need TC with call site to be workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/project/modules/SolutionProducer.java (2 lines): - line 37: // FIXME error reporting - line 64: // FIXME error reporting core/kernel/source/jetbrains/mps/smodel/language/ConceptRegistryUtil.java (2 lines): - line 65: * FIXME Location in this class is 100% improper, I just failed to come up with a better idea and don't want to - line 100: // FIXME quite similar to the above method editor/editor-runtime/source/jetbrains/mps/nodeEditor/IntentionsSupport.java (2 lines): - line 114: // FIXME check 47d64cfa and MPS-31891. Likely we need to switch to use idea's actions not only to keep shortcut, - line 323: // TODO check for ActionsAsIntentions core/kernel/source/jetbrains/mps/smodel/language/ExtensionRegistry.java (2 lines): - line 115: // TODO: more flexible way of loading extensions from a module - line 117: // FIXME quick-n-dirty hack for MPS-38457, until I come up with a mechanism to configure location where to take ExtensionDescriptor from core/kernel/source/jetbrains/mps/smodel/ModelDependencyUpdate.java (2 lines): - line 117: // FIXME perhaps, we shall expose accessory models (as reference) much like - line 124: // FIXME I wonder if this is necessary, provided myModelScanner detects accessory model references among x-model refs workbench/mps-workbench/source/jetbrains/mps/project/MissionControl.java (2 lines): - line 179: // FIXME this terminates the update loop, ensure it is re-started when PowerSaveMode is disabled - line 183: // FIXME: check if the job is underway plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/changes/NodeIdChange.java (2 lines): - line 36: // TODO do we really need parent ids at all? - line 48: // TODO do we really need parent ids at all? plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/platform/util/MergeBackupUtil.java (2 lines): - line 107: // FIXME Please, please! Year 2015, two static classes, one set static fields of another?! - line 108: // FIXME Oh, no, wait! It's year 2019 already, and the code is still there!? IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/usages/MPSJavaDirectInheritorsSearcher.java (2 lines): - line 53: // TODO implement: return all MPS classes extending queryParameters.getClassToProcess() - line 54: // TODO use ref index plugins/mps-diagram-editor/runtime/source_gen/jetbrains/mps/nodeEditor/cells/jetpad/AbstractJetpadCell.java (2 lines): - line 84: // TODO: use more effitient way of getting port cell (by ID) - line 121: // TODO: do we need it? it always return true.. core/generator/source/jetbrains/mps/generator/impl/GenTraceImpl.java (2 lines): - line 85: // FIXME proceed with the last phase? - line 237: // FIXME In fact, shall not look outside of TransientModelsModule, however even if we move to separate repository for transient models, core/vfs/source/jetbrains/mps/vfs/path/PathFormats.java (2 lines): - line 42: // TODO support UNC paths - line 43: // TODO: should we use case-sensitivity, e.g. transform all the incoming paths to lower-case? core/persistence/source/jetbrains/mps/persistence/binary/BinaryPersistence.java (2 lines): - line 231: // FIXME add temporary code to read both module ref and SLanguage in 3.4 (write SLangugae, read both) - line 254: // FIXME just a placeholder value instead of SModelHeader.isDoNotGenerate() to avoid persistence version change. editor/editor-runtime/source/jetbrains/mps/nodeEditor/EditorComponentDecoration.java (2 lines): - line 25: // FIXME remove this transition code, "upper" components is just bad design - line 34: // FIXME deal with myUpperPanel that occupies NORTH and get rid of this additional Panel core/project-check/source/jetbrains/mps/project/validation/ValidationUtil.java (2 lines): - line 206: // FIXME this brings incorrect results for explicit Check Module actions (where one would expect thorough check) - line 423: // FIXME provisional hack to deal with recently added {module}/classes in .msd to get rid of another JMFI hack. core/kernel/source/jetbrains/mps/util/MacrosFactory.java (2 lines): - line 106: * FIXME AP contains or equals? Does MacroHelpers and others replace macros in the middle of a path? - line 158: // FIXME there's corner case when anchorFile is /a/module/module.msd; "/a".getParent() gives "/", any absolute path starts with it, IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/convert/ConvertPackageToModel.java (2 lines): - line 182: // TODO need to make it more efficient (maintain this data in DirParser) - line 329: // TODO change to project SRepository languages/languageDesign/plugin/generator/source_gen/jetbrains/mps/lang/plugin/generator/baseLanguage/template/main/QueriesGenerated.java (2 lines): - line 1512: // TODO fix if group is not declared yet - line 1519: // TODO fix if group is not declared yet languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/ResolveUnknownUtil.java (2 lines): - line 310: // TODO make it more informative - line 343: // TODO maybe should return a list of possible s along with their token count languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/editor/CursorFocusUtils.java (2 lines): - line 20: // TODO: should we set caret to the end of cell if backspace ? - line 25: // TODO: shold we do same process if backspace? plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/client/UnitTestProcessListener.java (2 lines): - line 65: // FIXME this code dates back to initial 2011 commit with no clear explanation what's the reason. - line 111: * FIXME This hack may potentially cause misinterpretation of stream contents. editor/editor-runtime/source/jetbrains/mps/nodeEditor/SModelModificationsCollector.java (2 lines): - line 46: // TODO: move to jetbrains.mps.nodeEditor.updater package, make package-local - line 102: // TODO: move this logic to SNodePointer? Ask MMuhin. workbench/mps-platform/source/jetbrains/mps/ide/util/PlatformStarter.kt (2 lines): - line 36: // TODO remove the following two lines if this is not necessary (there was requirements for startup times to be set in the past) - line 47: // TODO Maros: should we include this? is used in IDEA before startApplication core/kernel/source/jetbrains/mps/smodel/language/ConceptRegistry.java (2 lines): - line 41: // TODO avoid singleton by creating a new ComponentPlugin instance with smodel-related components (it is not CoreComponent in fact) - line 143: // TODO Introduce IllegalConstrainedStringDatatypeDescriptor in order to make this non-null workbench/mps-editor/source/jetbrains/mps/ide/editor/EditorTrackService.java (2 lines): - line 80: // FIXME has to listen to file changes, instead, not to reload every - line 92: // FIXME first, it has to be WorkbenchModelAccess not to start read/write for disposed project core/persistence/source/jetbrains/mps/smodel/persistence/def/ModelPersistence.java (2 lines): - line 217: * FIXME why on earth we pass SModelData here, not openapi.SModel? - line 218: * FIXME why does this method do silent update? Would be better to update explicitly, and fail from the method if can't save with specified version plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/typesystem/kotlinClassifierType_subtypeOf_genericType_InequationReplacementRule.java (2 lines): - line 109: // TODO this is actually an equivalence relation - line 172: // TODO this is actually an equivalence relation core/findUsages-runtime/source_gen/jetbrains/mps/ide/findusages/FindersManager.java (2 lines): - line 125: // FIXME shall refactor load/clear mechanism to drop/load relevant LanguageFinder instances only. - line 140: // FIXME shall drop relevant LanguageFinder instances only! workbench/mps-platform/source/jetbrains/mps/ide/project/ProjectHelper.java (2 lines): - line 43: * TODO: replace all usages & remove - line 59: // FIXME avoid calling ComponentManger.getComponent core/kernel/source/jetbrains/mps/smodel/constraints/ModelConstraints.java (2 lines): - line 62: public static ReferenceDescriptor getReferenceDescriptor(@NotNull SNode contextNode, /*TODO should be @NotNull*/ @Nullable SContainmentLink containmentLink, - line 67: public static ReferenceDescriptor getReferenceDescriptor(@NotNull SNode contextNode, /*TODO should be @NotNull*/ @Nullable SContainmentLink containmentLink, plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/merge/MergeModelsPanel.java (2 lines): - line 109: // FIXME code below requires thorough refactoring. Models that come here are IMO loaded from disk and are not - line 139: // FIXME refactor this DiffModelUtil use as well, but have to deal with logic inside createTemporaryResultModel() first core/textgen/source/jetbrains/mps/text/TextUnit.java (2 lines): - line 61: * FIXME decide whether throws exception or return null/empty value if not yet generated. - line 66: * FIXME makes sense for text/string output only. Shall decide whether we keep binary/textual generation separate, or IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/project/stubs/JdkStubSolutionManager.java (2 lines): - line 153: // TODO pull out jdk that can be (or must be?) beneath this sdk - line 220: // TODO specify that idea sdk didn't match jdk, not just difference core/project/source/jetbrains/mps/library/ModuleFileTracker.java (2 lines): - line 135: // FIXME the method has to be part of IFile API. However, not clear whether we shall check for existence, how to approach canonical paths, - line 228: // FIXME need a better mechanism to find out MD kind than instanceof. E.g. DeployedDescriptor is the same for any module, once we core/tool/builder/source_gen/jetbrains/mps/tool/builder/CoreWorker.java (2 lines): - line 54: // FIXME How do I make sure Script.class matches the class referenced from the cons? - line 88: // FIXME better reporting needed, see e.g. MpsRunnerWorker plugins/mps-ide/modules/tools.todo/source_gen/jetbrains/mps/ide/tools/todo/TodoViewer.java (2 lines): - line 112: return NameUtil.formatNumericalString(options.mySubresultsCount, "TODO item") + " found"; - line 125: return "TODO items" + counter; plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/model/StackFrameContext.java (2 lines): - line 77: // FIXME is there true need to access node, not SNodeReference here? - line 257: // TODO generics IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/index/AbstractSModelIndexer.java (2 lines): - line 41: * FIXME see {@link SNodeDescriptorsDataExternalizer} for details - line 109: // TODO: walk the body and collect methods from the anonymous classes? plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/common/ButtonsPainter.java (2 lines): - line 31: // FIXME see #relayout(), below - line 114: // FIXME I see no reason to calculate myWidth with constants and not to create buttons here and take their actual size, instead plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/behavior/BuildLayout_Jar__BehaviorDescriptor.java (2 lines): - line 66: // FIXME if I replace BS_JavaModule with BS_CompilablePart (which is target of BL_CompileOutputOf.module we compare against), - line 74: // FIXME Does anybody have an idea why BuildSource_JavaModule is processed here independently from the logic in scanInJarNodes(), below? workbench/mps-editor/source/jetbrains/mps/ide/editor/MPSFileNodeEditor.java (2 lines): - line 230: // FIXME NodeStructureViewProvider shall not be shy to accept MPSProject directly, as it's what the only implementation out there does. - line 312: // FIXME what's behind this logic? What does getParent() == null mean? core/smodel/source/jetbrains/mps/extapi/model/SModelData.java (2 lines): - line 27: // FIXME have to decide whether Nullable or NotNull. - line 32: // FIXME have to decide whether Nullable or NotNull. IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/refactoring/ModelRenameHandler.java (2 lines): - line 144: // TODO: find a way to safely delete generated files. Until then, let's not make a mess - line 149: // TODO for 3.5: check rewritten code and remove if(true) workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/dialogs/project/creation/ModelCreateHelper.java (2 lines): - line 62: // FIXME distinct write with subsequent command. Is it the way we would like to go? - line 149: // FIXME assuming myClone would get removed once this code ends workbench/mps-workbench/source/jetbrains/mps/workbench/dialogs/project/newproject/CreateProjectWizard.java (2 lines): - line 507: // FIXME extract to message bundle - line 562: // FIXME TemplateFiller: bloody hell the name, the pattern (why object if runs immediately) and impl (post-startup->model command inside each one) languages/util/core.text/source_gen/jetbrains/mps/lang/text/editor/WordRangeSelection.java (2 lines): - line 60: // TODO preserve and move the cursor position - line 61: // TODO allow per-character selection IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/projectView/MPSTreeStructureProvider.java (2 lines): - line 251: // FIXME getModelProvider requires model read to resolve model reference, with IDEA's async - line 267: // FIXME remove legacy NODE, MODEL and MODULE DataKeys plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/constraints/KotlinInJavaScopeHelper.java (2 lines): - line 67: // TODO use TOP_LEVEL if not called from a class inheriting the current class - line 122: // TODO is that going to be handled by the converted type of TypeVariableReference? workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/module/TransientModelsTreeNode.java (2 lines): - line 71: // FIXME refactor NamespaceTreeBuilder to take Supplier and get rid of subclassing - line 76: // FIXME I know I'm not supposed to use TransientSModelDescriptor directly, rather extapi.TransientSModel core/generator/source/jetbrains/mps/generator/GenerationPlanBuilder.java (2 lines): - line 51: * FIXME API is inconsistent as we reference languages using deployment identity ({@link SLanguage}), while for generators there are {@link SModule modules}. - line 245: // TODO include(SModuleReference generator, BuilderOption) workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/logicalview/SimpleNodeProjectViewNode.java (2 lines): - line 256: // TODO: add special icon for node properties - line 288: // TODO: add special icon for node references core/typechecking/source/jetbrains/mps/typechecking/backend/TypecheckingBackend.java (2 lines): - line 128: // FIXME skip on error: the provider can be misconfigured - line 150: // FIXME skip on error: the provider can be misconfigured plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/ModuleLoader.java (2 lines): - line 64: // TODO enforce outer code to specify FS to avoid singleton access - line 130: // FIXME ModuleMacroHelper is not necessary any more, but I need to make use of its MMH.unknownMacros logic to help craft BuildProject's initial macros core/kernel/source/jetbrains/mps/smodel/tempmodel/TempModel.java (2 lines): - line 56: // TODO move TempModels outside of the default repository; false here prevents model from saving - line 57: // FIXME save() is no-op here now, do we still need isChanged() == false? workbench/mps-platform/source/jetbrains/mps/project/ModelImporter.java (2 lines): - line 38: * FIXME may show UI confirmation dialog from within a command/write action, is it good? - line 92: // FIXME discussed with MM, it's just a quick way to fix common scenarios, there's no particular idea behind models in Solutions to get plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/behavior/KotlinTypeParameterReference__BehaviorDescriptor.java (2 lines): - line 69: // TODO type constraints? - line 96: // TODO is this matching still relevant? languages/baseLanguage/closures/generator/source_gen/jetbrains/mps/baseLanguage/closures/generator/baseLanguage/template/main/QueriesGenerated.java (2 lines): - line 1199: // TODO investigate if that true should be removed - line 1351: // TODO in case there's method call with more than one closure arg, we'll process it again, guard against this testbench/sources/jetbrains/mps/testbench/TestModuleFactoryBase.java (2 lines): - line 125: * FIXME this method is different from the rest in the same class as it doesn't register a module, and merely instantiates it. - line 301: // FIXME with newly introduced JavaModuleFacetImpl.forJavaCodeModule() and no legacy fallback in JMFI, need to be specific about JMF values here core/generator/source/jetbrains/mps/generator/GenerationCacheContainer.java (2 lines): - line 31: * FIXME revisit, perhaps can make use of to keep checkpoint models outside of a workspace (not to bother with identical files) - line 33: * FIXME There is extension point, what do I do with it? core/textgen/source/jetbrains/mps/text/impl/RegularTextUnit.java (2 lines): - line 72: // FIXME transition period, remove once there we generate uses of cons with CH and there are no uses of these constructors - line 212: // FIXME Handling of binary/base64 encoded strings missing?! plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/settings/TestListPanel.java (2 lines): - line 68: // FIXME here's some stupid code, imo - during construction, we supply whether we're interested in individual tests (aka methods) or test cases (aka roots) - line 82: // FIXME shall I check isTestCase() here, first?!? plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/MigrationSetup.java (2 lines): - line 45: // FIXME provided project migrations, once executed, may invalidate set of language/module migrations, - line 58: // FIXME MigrationScriptCollector walks hierarchy of LR, and can report missing LR. languages/languageDesign/structure/source_gen/jetbrains/mps/lang/structure/editor/ConceptDeclaration_TransformationMenu.java (2 lines): - line 114: // FIXME same code in "Create Editor For ..." action, below, asl well as in "Editor" tab - line 219: // FIXME this use of OperationContext.getProject() waits for the moment EditorComponent/EditorContext answers with CH right away core/openapi/source/org/jetbrains/mps/util/DepthFirstConceptIterator.java (2 lines): - line 29: * then super-interfaces in an order they were specified in super-concepts (breadth-like). FIXME make it truly breadth-first, for interface concepts as well. - line 35: * FIXME functionality of this class shall get exposed from SConcept API workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/dialogs/project/creation/NewModelDialogDefaultSettings.java (2 lines): - line 121: // FIXME get two fields (namespace and simple name) instead of one! - line 129: // FIXME shall pass actual text field value rather than expect validator to invoke some settings method with core/kernel/source/jetbrains/mps/smodel/GeneralModuleFactory.java (2 lines): - line 35: * FIXME there are uses like {@code (Solution) new GeneralModuleFactory().instantiate(SolutionDescriptor)}. Perhaps, shall expose methods to instantiate - line 80: // FIXME this one is non functional at the moment, as long as we still reference Language module from Generator module workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/logicalview/highlighting/visitor/updates/TreeNodeUpdater.java (2 lines): - line 73: // FIXME runReadInEDT returns immediately, perhaps, can refactor this code for the Runnable to - line 77: // FIXME in fact, would be great to allow custom code on CancellableReadAction.cancel() plugins/mps-build/solutions/jetbrains.mps.build.mps.migration/source_gen/jetbrains/mps/build/migration/MigrationWorker.java (2 lines): - line 64: // FIXME why do I care to make these modules? - line 95: // FIXME why another reflection? MigrationTask builds classpath to load MigrationWorker by reflection core/tool/builder/source_gen/jetbrains/mps/tool/builder/make/GenTestWorker.java (2 lines): - line 100: // FIXME GenTestWorker/GenTestTask still use module files as configuration argument (from Java code perspective, need to check actual tasks in scripts and generator thereof) - line 148: // FIXME I've got a solid feeling that without Test make facet, myReporter makes no sense, as well as both ITestReporter implementations core/typesystemEngine/source/jetbrains/mps/typesystem/inference/TypeChecker.java (2 lines): - line 64: // FIXME this is only a temporary solution, the helper is to be selected dynamically - line 65: // FIXME usages of this method must be replaced with direct reference to TypeCheckerHelper core/textgen/source/jetbrains/mps/text/TextBuffer.java (2 lines): - line 32: * FIXME Perhaps, shall introduce either BinaryBuffer or BinaryArea to support binary (or partly binary) files - line 47: * FIXME describe whether nested push with the same token is allowed (present impl does allow, is it smth we'd like to use?) core/make-runtime/solutions/jetbrains.mps.make.runtime/source_gen/jetbrains/mps/internal/make/runtime/java/FileDeltaCollector.java (2 lines): - line 58: // FIXME this is in fact part of future proper API for StreamHandler, once we allow arbitrary path for TextGen units - line 68: // TODO seems that we no longer need this method, remove along with StreamHandler rewrite to use InputStream/ISProvider instead of present workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/UsagesViewTool.java (2 lines): - line 455: // FIXME have to keep this code (legacy NODE DataKey) as long as our own actions query NODE, not SNodeActionData. - line 459: // FIXME this code traces back to 5ec439b5 (2013), and I'm confused whether we still need it workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/AttributeStorage.java (2 lines): - line 31: * FIXME javadoc - line 32: * FIXME replace map with arrays as there are usually few keys plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/engine/events/EventsProcessor.java (2 lines): - line 163: // TODO request filters should be configured by user - line 171: // TODO also might wanna let user to exclude constructors, classloaders, getters, core/debuginfo/api/source/jetbrains/mps/textgen/trace/DebugInfo.java (2 lines): - line 112: // FIXME StartLineComparator is always wrapped with reverseOrder, no need to have it that way - line 160: // FIXME new SNodePointer here seems to be the only reason we depend from [smodel] core/smodel/source/jetbrains/mps/project/FilteredScope.java (2 lines): - line 29: // FIXME j.m.project is bad location for this class, it's not related to project. Shall reside in j.m.scope or better. - line 30: // FIXME Left in j.m.project for compatibility. Deprecate and substitute with new one in proper package core/kernel/source/jetbrains/mps/persistence/PersistenceRegistry.java (2 lines): - line 194: // FIXME In fact, shall delegate to proper SModelIdFactory. toString here is just the first step in transition - once all code out there - line 242: // FIXME once there's no direct uses of SModelReference#toString in persistence code, this might change to produce another format core/smodel/source/jetbrains/mps/smodel/SModelInternal.java (2 lines): - line 63: // FIXME rename to importedLanguages once original is removed - line 66: // FIXME refactor, rename to removeLanguage(SLanguage), expose in SModel workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/dialogs/project/creation/NewGeneratorDialog.java (2 lines): - line 220: // FIXME would be nice not to cast here - line 222: // FIXME why there's no mechanism to add module with path? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/FunctionType__BehaviorDescriptor.java (2 lines): - line 80: // TODO supported in kotlin, not in jvm erased signatures - line 101: // TODO supported in kotlin, not in jvm erased signatures build/getDependencies.xml (2 lines): - line 278: - line 416: - line 126: core/vfs/source/jetbrains/mps/vfs/path/Path.java (1 line): - line 34: * TODO: our current plan is first to use Path as a mediator between IFile and plain strings; editor/editor-runtime/source/jetbrains/mps/nodeEditor/UIEditorComponent.java (1 line): - line 24: * FIXME please document intended use of the class. Seems that it's intended for embedded node editors, however there are plugins/mps-spellcheck/modules/spellcheck/source_gen/jetbrains/mps/editor/spellcheck/AddWordToDictionary_Action.java (1 line): - line 60: // FIXME some stupid checking rule requires toString function for StringType. Why?! IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/JavaMPSPsiNodeFactory.java (1 line): - line 52: // TODO use MPS-generated constant value plugins/mps-devkit/languages/mpsdevkit/source_gen/jetbrains/mps/ide/devkit/actions/NewAccessoryModel_Action.java (1 line): - line 85: // FIXME bad design. onModelCreated runs command to create a model and attach it to a module, plugins/mps-make/plugin/source/jetbrains/mps/ide/make/actions/TransientModelsWidget.java (1 line): - line 113: // TODO: Use only one Icon. This hack helps to avoid tests fails plugins/mps-modelchecker/platform/source_gen/jetbrains/mps/ide/modelchecker/platform/actions/ModelCheckerIssueFinder.java (1 line): - line 81: // FIXME it's odd to create checker here provided outer code cares about ModelCheckerSettings and IssueKindReportItem anyway. core/project/source/jetbrains/mps/project/IProject.java (1 line): - line 44: * FIXME explain what does 'add' and 'remove' mean. Is it about permanent, serialized change or just an association workbench/mps-workbench/source/jetbrains/mps/workbench/dialogs/project/newproject/ProjectOptions.java (1 line): - line 111: // FIXME I see clients got IFile for path, and ProjectFactory with getSolutionPath needs IFile as well. Why do I care to convert to string? plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/server/NodeWrappersTestsContributor.java (1 line): - line 30: // FIXME review if I can make use of AbstractTestConverter logic here (not to duplicate). plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/scopes/signed/InstanceSignatureScope.java (1 line): - line 92: // TODO search using visitor! plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/util/FileSetUtil.java (1 line): - line 64: // FIXME not that I care to get BL_Node, it's just a defect in descendants implementation that ignore stop concepts unless there's specific concept to look up. plugins/mps-devkit/languages/mpsdevkit/source_gen/jetbrains/mps/ide/devkit/actions/TraceTool_Tool.java (1 line): - line 33: // TODO: find way to rewrite this plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/tool/RootMessageContainer.java (1 line): - line 20: // FIXME I don't quite get hierarchical approach to messages, (root->testcase->method). it implies messages come in proper order plugins/debugger-api/core/source_gen/jetbrains/mps/debugger/core/CurrentLinePositionComponentEx.java (1 line): - line 108: // FIXME this check, as well as the whole method is quite odd, given we can deal with node-ptr and sometimes even w/o EDT access core/kotlin-stub/source/jetbrains/mps/kotlin/stubs/loading/component/KotlinStubModelProducer.kt (1 line): - line 35: // TODO this restricts to JVM/Common platform until we need other platforms plugins/mps-devkit/source/jetbrains/mps/ide/devkit/util/DeleteGeneratorHelper.java (1 line): - line 64: // FIXME basically, need to find any module that depends on generatorModule, can live without Generator instances here plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/constraints/BuildMps_ModuleDependencyOnModule_Constraints.java (1 line): - line 62: // FIXME need to get type equivalency (RefScopeType==ClassifierType) fixed. editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/GeometryUtil.java (1 line): - line 25: * TODO: push up to openapi package languages/languageDesign/behavior/languages/behavior/generator/source_gen/jetbrains/mps/lang/behavior/generator/template/main/QueriesGenerated.java (1 line): - line 209: // TODO genContext.get output BehaviorAspectDescriptorCons for model model; plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/ClassType__BehaviorDescriptor.java (1 line): - line 68: // TODO this does not make ClassType much extensible, IClassLike nodes that do not extend IInheritExplicitely cannot change their super types except by making a custom type that could clash with ClassType. Perhaps integrating a visitor method in IClassLike would be a good idea. workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/treeholder/tree/nodedatatypes/BaseNodeData.java (1 line): - line 107: // FIXME always false workbench/mps-workbench/source/jetbrains/mps/ide/vfs/ClassesGenPolicy.java (1 line): - line 67: // FIXME quite stupid code. Guess, the idea here is to exclide 'classes/' in case when there are plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/StarProjection__BehaviorDescriptor.java (1 line): - line 44: // TODO union type? core/generator/source/jetbrains/mps/generator/impl/reference/ReferenceInfo_Macro2.java (1 line): - line 30: * FIXME refactor both to share identical code (in create() and expand()) core/kernel/source/jetbrains/mps/smodel/ModuleRepositoryFacade.java (1 line): - line 92: // FIXME need to distinguish between uses where regular SRepository is sufficient (like getAllModules(Class)) vs uses core/generator/source/jetbrains/mps/generator/impl/AbstractTemplateGenerator.java (1 line): - line 130: // FIXME if template node could not be referenced, no reason to record the mapping. In generated templates, we analyze incoming references, editor/editor-runtime/source/jetbrains/mps/nodeEditor/CreateFromUsageUtil.java (1 line): - line 104: // FIXME similar code in CreateRootNodeGroup for ProjectPane workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/module/AccessoriesModelTreeNode.java (1 line): - line 66: // FIXME what's the reason for validate here, not as part of ModelChecker? workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/ProjectPaneSelectInTarget.java (1 line): - line 125: // FIXME this code is kept around only for the lack of a better alternative languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/ParenthesizedExpression__BehaviorDescriptor.java (1 line): - line 55: // TODO: not sure concerning ParenthesizedExpression priorities.. workbench/mps-workbench/source/META-INF/DisabledLangActions.xml (1 line): - line 97: core/kernel/source/jetbrains/mps/smodel/tempmodel/JavaModuleFacetBuilder.java (1 line): - line 23: // TODO although could be of use in EvaluationModule plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/engine/VmCreator.java (1 line): - line 135: // TODO we do not have waitFor(int) method languages/languageDesign/structure/source_gen/jetbrains/mps/lang/structure/typesystem/check_ExtendedConceptsAreInExtendedLanguages_NonTypesystemRule.java (1 line): - line 51: // FIXME use ConceptDeclarationScanner, instead, to be consistent what we treat as a requirement for 'extends' workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/workbench/progress/AbstractBackgroundTaskScheduler.java (1 line): - line 115: // FIXME report exception plugins/mps-migration/solutions/migration.workbench/source_gen/jetbrains/mps/migration/workbench/plugin/RebuildHandler_ProjectPluginPart.java (1 line): - line 46: // FIXME it's better to make this code MPS-managed and re-use MakeActionParameters, just not sure about ide.make dependencies core/vfs/source/jetbrains/mps/util/IFileUtil.java (1 line): - line 168: // FIXME preserve original line ednings core/generator/source/jetbrains/mps/generator/runtime/ApplySink.java (1 line): - line 30: * FIXME do I need throws in add() signature? plugins/mps-devkit/languages/depanalyzer/source_gen/jetbrains/mps/ide/depanalyzer/ReferencesFinder.java (1 line): - line 70: * FIXME at the moment, UsagesView is not capable to show anything but SNode, hence SNode, not SConcept result workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/ide/datatransfer/AddRequiredImportsDialog.java (1 line): - line 179: // FIXME likely, IconManager shall take project argument plugins/mps-modelchecker/platform/source_gen/jetbrains/mps/ide/modelchecker/platform/actions/ModelCheckerCheckinHandler.java (1 line): - line 85: // FIXME would be nice to limit model lookup to modules that depend from those modified languages/languageDesign/project/source_gen/jetbrains/mps/lang/project/behavior/ModuleReference__BehaviorDescriptor.java (1 line): - line 40: // FIXME consider deprecating ModuleReference in favor of lang.smodel.ModuleIdentity/ModulePointer. core/kernel/kernelSolution/source_gen/jetbrains/mps/checkers/CheckingSession.java (1 line): - line 34: * FIXME nowhere in the code are keys of the map accessed, nor is there any need to do so. core/tool/environment/source_gen/jetbrains/mps/tool/environment/ProjectContainer.java (1 line): - line 34: // FIXME clear() would never work, as it disposes projects before removing the listener that plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/newparser/IncrementalModelAccessBase.java (1 line): - line 62: // FIXME this is a provisional hack to deal with the fact 'update mode' leaves FNF instances in incomplete/invalid state (not reflecting actual state) workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/actions/RemoveModulesVirtualFolder_Action.java (1 line): - line 113: // FIXME this actually restores the "top" package to any modules deep down the virtual folders hierarchy workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/ide/platform/watching/FileSystemListenersContainer.java (1 line): - line 30: * TODO All in all I do not think that having a parallel fs tree-like structure editor/editor-runtime/source/jetbrains/mps/nodeEditor/leftHighlighter/FoldingButton.java (1 line): - line 54: //TODO: Can we hold cell directly instead of CellInfo here? core/tool/builder/source_gen/jetbrains/mps/tool/builder/make/BuildMakeService.java (1 line): - line 24: // FIXME once we install it as IMakeService and use through CoreComponent, don't need to core/kernel/source/jetbrains/mps/errors/QuickFixProvider.java (1 line): - line 34: * FIXME inconsistent contract. Implementation used to return null, while client didn't account for null value languages/languageDesign/structure/generator/source_gen/jetbrains/mps/lang/structure/generator_new/baseLanguage/QueriesGenerated.java (1 line): - line 117: // FIXME implicit assumption name of the language matches model name minus last segment editor/editor-runtime/source/jetbrains/mps/nodeEditor/NodeEditorComponent.java (1 line): - line 182: // FIXME there's a promise in IDEA that VIRTUAL_FILE_ARRAY is provided automatically when there's plugins/mps-devkit/languages/editor/source_gen/jetbrains/mps/ide/devkit/editor/Feedback_TabDescriptor.java (1 line): - line 82: // FIXME used to be MessageDialog here, which is wrong, provided we're inside command here workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/ProjectPaneTree.java (1 line): - line 175: // FIXME do it through PPTH or any other way, but don't add dumbUpdate ro runRebuildAction() which is in use for refresh core/make-runtime/solutions/jetbrains.mps.make.runtime/source_gen/jetbrains/mps/internal/make/runtime/script/Script.java (1 line): - line 132: // FIXME provisional mechanism to get FacetRegistry instance for use in PropertiesWithBackstore core/kernel/source/jetbrains/mps/persistence/PersistenceUtil.java (1 line): - line 136: // FIXME need better implementation, this one is just to replace client code by capturing intention editor/editor-runtime/source/jetbrains/mps/nodeEditor/cellMenu/NodeSubstituteChooserUi.java (1 line): - line 98: //TODO: change to EditorColorManager default font jps/jps-plugin/src/jetbrains/mps/jps/build/MPSMakeMediator.java (1 line): - line 105: // FIXME: need a better idea of how to get MakeSessionFiles languages/languageDesign/constraints/legacy-msg-specification/source_gen/jetbrains/mps/lang/constraints/msg/specification/intentions/MessageIntentionHelper.java (1 line): - line 54: // FIXME perhaps, can use MPSCoreComponents.getInstance() to access ComponentHost, not MPSProject core/util/source/jetbrains/mps/util/iterable/TranslatingIterator.java (1 line): - line 23: * FIXME Iterable which produces incorrect result for any but first #iterator() core/kernel/source/jetbrains/mps/smodel/ModelAccessBase.java (1 line): - line 141: // FIXME shall prevent using this method from within a thread that canRead with the help of readEnabledFlag, core/findUsages-runtime/source_gen/jetbrains/mps/ide/findusages/model/scopes/ModelsScope.java (1 line): - line 41: // FIXME shall return modules of the models it was initialized with plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/signatures/PropertySignature.java (1 line): - line 152: // TODO make property function declaration? core/openapi/source/org/jetbrains/mps/openapi/persistence/PersistenceFacade.java (1 line): - line 53: * FIXME shall rename to smth more meaningful (to reflect it's about model roots) plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/common/DiffEditor.java (1 line): - line 82: // FIXME provisional fix for MPS-38868, with metamodel change nodes residing in own repo, can't rely on project repo languages/languageDesign/resources/source_gen/jetbrains/mps/lang/resources/behavior/FileIcon__BehaviorDescriptor.java (1 line): - line 143: // TODO use in the editor plugins/debugger-api/runtime/source_gen/jetbrains/mps/debugger/api/ui/tool/DebuggerToolPanel.java (1 line): - line 158: // TODO not good core/java-stub/source_gen/jetbrains/mps/baseLanguage/javastub/SingleZipWithJavaSources.java (1 line): - line 176: // FIXME caller has to look into memberTypes if it needs to workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/ProjectPane.java (1 line): - line 174: // FIXME perhaps, shall be explicit about parameter type, seems that it's always invoked with MPSProject anyway plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/merge/MergeSession.java (1 line): - line 116: // FIXME why there's no remove listener? Perhaps, MergeSession deserves a dispose()? core/project/source/jetbrains/mps/project/ProjectModelAccess.java (1 line): - line 27: * FIXME Instead, shall implement executeCommand methods in this class and delegate here from respective smodel.ModelAccess methods plugins/debugger-api/runtime/source_gen/jetbrains/mps/debugger/api/ui/tool/DebuggerToolContentBuilder.java (1 line): - line 101: // TODO use context to get data to the action workbench/mps-platform/source/jetbrains/mps/ide/actions/MPSActions.java (1 line): - line 21: * TODO generate!! IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/psi/impl/MPSPsiModel.java (1 line): - line 94: /* TODO: remove after fix in platform: IdeaPlugin/mps-java/source_gen/jetbrains/mps/idea/java/fastFind/ClassStubPsiMapper.java (1 line): - line 61: // TODO to properly handle methods we have to build node ids in the same way as class stubs do workbench/mps-ui/source/org/jetbrains/mps/openapi/ui/persistence/ModelRootEntry.java (1 line): - line 46: * FIXME Right now is in use to check newly created roots against existing, although the right way is to check all core/project/source/jetbrains/mps/project/structure/project/ProjectDescriptor.java (1 line): - line 113: // FIXME Bad smell. We used to get here when project started, and existing ProjectDescriptor serves as an input to populate Project (through ModuleLoader), plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/merge/MergeRootsPane.java (1 line): - line 646: // TODO: specific colors for other charsets core/smodel/source/jetbrains/mps/smodel/SReference.java (1 line): - line 118: // FIXME shall be abstract but might require change in MPS-extensions or mbeddr plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/ClassDeclaration__BehaviorDescriptor.java (1 line): - line 99: // TODO inner class constructor as instance methods have special behavior regarding inheritance core/typesystemEngine/source/jetbrains/mps/typesystem/inference/TypeCheckerHelper.java (1 line): - line 73: // FIXME share subtyping cache among generator worker threads? core/openapi/source/org/jetbrains/mps/openapi/persistence/DataSource.java (1 line): - line 100: // FIXME dubious API plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/engine/requests/StepRequestor.java (1 line): - line 78: // TODO this place may lead (and does lead) to bad performance (see MPS-8725) core/vfs/source/jetbrains/mps/vfs/iofs/jar/JarFileData.java (1 line): - line 160: // FIXME packEnd == 0 means name == "/something", and myEntries eventually maps "something/something". Is it right? languages/baseLanguage/closures/source_gen/jetbrains/mps/baseLanguage/closures/actions/initialize_ClosureLiteral.java (1 line): - line 37: // TODO These conditions are hacks in wait of MPS-35199 languages/languageDesign/generator/languages/descriptor/generator/source_gen/jetbrains/mps/lang/descriptor/generator/template/main/QueriesGenerated.java (1 line): - line 106: // FIXME sort out generator alias and #suffix thing, why do I need both? core/kernel/source/jetbrains/mps/smodel/language/BasicAspectRootConfiguration.java (1 line): - line 116: // FIXME perhaps, stream would be better aligned with LanguageRegistry.withAvailableLanguages plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/constraints/IIdentifier_Constraints.java (1 line): - line 36: // TODO we might want to allow quoted string (just use following code). That would however cause several edition issues (typing anything after a name will not trigger transforms anymore) which need to be adequately handled. plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/editor/AddFirstKotlinFunctionCallArgument.java (1 line): - line 28: // TODO implement for kotlin? plugins/mps-devkit/languages/pluginSolutions/lang.structure/source_gen/jetbrains/mps/lang/structure/pluginSolution/plugin/LanguageStructureMigrationParticipant.java (1 line): - line 128: // FIXME would be nice to get mps.Project or ComponentHost through RefactoringSession, but of 3 uses of new RefactoringSessionImpl, core/typesystemEngine/source/jetbrains/mps/newTypesystem/state/Equations.java (1 line): - line 254: // TODO merge with ReportingTypecheckingContext workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/actions/NewSolution_Action.java (1 line): - line 88: // TODO: Sync ProjectPane.rebuildTree() with NewSolution, CloneModule actions plugins/mps-java/workbench/modules/jetbrains.mps.java.workbench/source_gen/jetbrains/mps/java/workbench/actions/NewModelFromSource_Action.java (1 line): - line 164: // FIXME MigrateSourcesToMPS doesn't need model write inside platform write to saveAll, which one is correct? Seems like this one, languages/languageDesign/migration/generator/source_gen/jetbrains/mps/lang/migration/generator/template/main/QueriesGenerated.java (1 line): - line 203: // TODO genContext.get output MigrationDescriptorClass for model model; plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/NodeTypeVarSubs.java (1 line): - line 80: // TODO can be removed when isNullable is removed languages/languageDesign/make/languages/facet/source_gen/jetbrains/mps/make/facet/constraints/FacetsScope.java (1 line): - line 31: * TODO reorganize facets in the project: we must not look at SolutionKind here tools/tools/source/jetbrains/mps/excluded/GensourcesModuleFile.java (1 line): - line 154: // FIXME IFile.getPath() always gives path with unix slashes, while MPSModuleCollector has platform-dependent paths in getSourcePaths (due to the odd workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/logicalview/LogicalViewDragSource.java (1 line): - line 54: return actionId == DnDConstants.ACTION_MOVE; // FIXME use MoveHandler abstraction languages/languageDesign/generator/languages/templateLanguage/source_gen/jetbrains/mps/lang/generator/behavior/VarMacro2__BehaviorDescriptor.java (1 line): - line 46: // FIXME can't use compose with as GenPlan for behaviors doesn't respect lang.scope language!! editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/EditorCell.java (1 line): - line 55: // TODO: move this group of methods to open API workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/treeholder/treeview/INodeRepresentator.java (1 line): - line 26: // FIXME this interface design is ugly and poor, let alone misuse of generics. We shall abandon it. plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/util/ProjectDependency.java (1 line): - line 121: // FIXME add an option Module.isPackaged (to access it like node.model.module.isPackaged) core/generator/source/jetbrains/mps/generator/runtime/ReductionRuleBase.java (1 line): - line 74: * FIXME worth to get back to the idea of any rule being 'with condition', merely telling true if no explicit condition specified jps/jps-plugin/src/jetbrains/mps/jps/project/JpsSolutionIdea.java (1 line): - line 147: // FIXME OR put JDK module id? editor/editor-runtime/source/jetbrains/mps/editor/EditorComponentTrackService.java (1 line): - line 29: // FIXME add accessor to EC in a project and replace EditorUtil. core/patternRuntime/source/jetbrains/mps/lang/pattern/GeneratedMatchingPattern.java (1 line): - line 42: // FIXME dubious approach: to cache GeneratedMatchingPattern instance and update its values from new matches. workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/actions/CutNode_Action.java (1 line): - line 49: // FIXME odd check, some legacy from 2009?! plugins/mps-devkit/languages/mpsdevkit/source_gen/jetbrains/mps/ide/devkit/actions/FindRootableConceptsWithoutIcons_Action.java (1 line): - line 66: // FIXME desperately need filtering IResultProvider plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/ArtifactsRelativePathHelper.java (1 line): - line 102: // FIXME first, no idea why this class, ARPH, is part of mps.build.mps, not just mps.build, how come basic build workbench/mps-editor/source/jetbrains/mps/ide/editor/MPSValidationComponent.java (1 line): - line 77: // TODO: create editor-specific "core" component in editor-runtime module and register all common checkers from there plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/textGen/KotlinForBLTextGen.java (1 line): - line 88: // TODO more explicit error message? workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/WithFontAttributes.java (1 line): - line 32: // FIXME does value == null mean 'delete key' or just null value? core/generator/source/jetbrains/mps/generator/impl/ModelStreamProviderImpl.java (1 line): - line 54: // FIXME likely need to iterate over all GTFs ans find the one that answers with outputCacheLocation != null plugins/mps-kotlin/META-INF/plugin.xml (1 line): - line 31: IdeaPlugin/mps-java/source_gen/jetbrains/mps/idea/java/psiStubs/PsiJavaStubModelRoot.java (1 line): - line 153: // TODO re-write to sequences and any workbench/mps-platform/source/jetbrains/mps/smodel/WorkbenchModelAccess.java (1 line): - line 108: sharedReadIsOver(); // FIXME not nice we do this outside of LockRunnable, but don't want to bother right now languages/languageDesign/editor/source_gen/jetbrains/mps/lang/editor/scripts/SmartRefGeneratedMenuMigration_MigrationScript.java (1 line): - line 83: // FIXME introduce a ProjectRepository, decide where to place if (tough part), use it here. core/kernel/source/jetbrains/mps/project/structure/modules/DeploymentDescriptor.java (1 line): - line 50: * TODO merge javadoc from above with doc below: core/patternRuntime/source/jetbrains/mps/lang/pattern/ChildMatcher.java (1 line): - line 36: // FIXME some sort of sparse array would be great workbench/mps-refactoring/j.m.refactoring.runtime/source_gen/jetbrains/mps/refactoring/runtime/access/RefactoringAccess.java (1 line): - line 52: // FIXME ORLY?! cast of an argument? CCE in case caller made a mistake? plugins/mps-diagram-editor/runtime/source_gen/jetbrains/mps/nodeEditor/cells/jetpad/DiagramCell.java (1 line): - line 361: // TODO: better integration with MPS substitute editor is required here plugins/debugger-api/api/source_gen/jetbrains/mps/debug/api/BreakpointCreatorsManager.java (1 line): - line 54: // FIXME no idea why there's subtype error editor/editor-runtime/source/jetbrains/mps/nodeEditor/DefaultEditor.java (1 line): - line 316: // FIXME overridden to optionally make collection readonly, better to refactor the superclass's implementation workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/logicalview/highlighting/visitor/ErrorChecker.java (1 line): - line 146: // FIXME stupid code Project.getErrors():String core/generator/source/jetbrains/mps/generator/runtime/TemplateModel.java (1 line): - line 49: * FIXME PROVISIONAL CODE (return value), expose GQP in generator.runtime package workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/TreeMessage.java (1 line): - line 29: // FIXME Either get rid of TreeMessageOwner, or pass a reasonable value in here core/textgen/source/jetbrains/mps/text/rt/TextGenModelOutline.java (1 line): - line 65: * @param input sequence of inputs, primary input first. FIXME could be empty? Generally, why not? editor/editor-runtime/source/jetbrains/mps/nodeEditor/cellActions/CellAction_PasteNode.java (1 line): - line 152: // FIXME relationship between Project and Editor needs attention, it's bad to extract languages/languageDesign/behavior/languages/behavior/generator/source_gen/jetbrains/mps/lang/behavior/generator/template/util/ConceptMethodGenerationHelper.java (1 line): - line 22: * TODO need to be moved to the behavior of the ConceptBehavior after MPS project rebuilt core/patternRuntime/source/jetbrains/mps/lang/pattern/NodeMatcher.java (1 line): - line 181: // FIXME if it's a mere accessor to a node to capture it, do not check concept match. Though IMO it's a defect in original implementation, core/generator/source/jetbrains/mps/generator/impl/ModelStreamManager.java (1 line): - line 63: * FIXME lifecycle? whether we get new or same stream manager each time. What about listeners added to MultiStreamDataSource returned from the manager? core/typesystemEngine/source/jetbrains/mps/newTypesystem/context/component/IncrementalTypecheckingComponent.java (1 line): - line 35: // TODO: drop this feature core/smodel/source/jetbrains/mps/errors/messageTargets/PropertyMessageTarget.java (1 line): - line 38: * FIXME once 2019.2 is out, replace with cast and SProperty accessor: {@code ((PropertyMessageTarget) mt).getProperty().getName()} core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/metadata/KtTypeParameterParser.java (1 line): - line 53: // TODO compatible with annotations it seems plugins/mps-kotlin/languages/kotlin.smodel/source_gen/jetbrains/mps/kotlin/smodel/behavior/ConceptMethodDeclaration.java (1 line): - line 42: // TODO not handled in smodel language but should support it! editor/typesystemIntegration/source/jetbrains/mps/typesystem/checking/EditorCheckerComponent.java (1 line): - line 49: // FIXME: why "in editor" checker? core/make-runtime/source/jetbrains/mps/make/ModuleAnalyzer.java (1 line): - line 35: * FIXME JAVADOC plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/signatures/FunctionSignature.java (1 line): - line 94: // TODO if this is important in some use case, keep this.signature and document why plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/typesystem/check_ISignatureScopeProvider_uniqueness_NonTypesystemRule.java (1 line): - line 46: // TODO prevent such items from getting there in the first place core/kernel/source/jetbrains/mps/classloading/CustomClassLoadingFacet.java (1 line): - line 24: * FIXME revisit once {@link IdeaPluginModuleFacet} gone. Need to decide whether we're interested in keeping custom CL editor/editor-runtime/source/jetbrains/mps/nodeEditor/checking/QuickFixRuntimeEditorWrapper.java (1 line): - line 47: // FIXME support also multi-selection (why isn't there a standard way to save/restore selection?) core/tool/builder/source_gen/jetbrains/mps/tool/builder/make/BaseGeneratorWorker.java (1 line): - line 108: // FIXME it's odd to have distinct set of modules but lock repository to access its modules. core/generator/source/jetbrains/mps/generator/impl/plan/ModelContentUtil.java (1 line): - line 50: * FIXME move ModelValidator code to detect presence of rules into model scanner and use same condition here to editor/intentions-runtime/source/jetbrains/mps/intentions/OldBaseIntentionFactory.java (1 line): - line 22: * FIXME update generated code to use this class languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/typeof_ClassCreator_InferenceRule.java (1 line): - line 131: // TODO: this is to avoid collecting generics from explicitly substituted types workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/UsagesTreeComponent.java (1 line): - line 118: // FIXME Would be great to show some sort of progress indicator here for huge search results (it takes some time to build a tree based on them) editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/SPropertyAccessor.java (1 line): - line 48: // FIXME property == null doesn't make any sense, nor uses of the field suggest null is possible, however, core/make-runtime/solutions/jetbrains.mps.make.runtime/source_gen/jetbrains/mps/internal/make/runtime/java/FileProcessor.java (1 line): - line 73: // FIXME remove? workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/treeholder/tree/DataTree.java (1 line): - line 223: // FIXME drop once 2019.2 is out, no reason to account for pre-2019.2 format core/kernel/source/jetbrains/mps/smodel/runtime/ModuleRuntime.java (1 line): - line 130: // FIXME need to decide whether we try to load activator for modules withExtensions() == false plugins/mps-diagram-editor/runtime/source_gen/jetbrains/mps/nodeEditor/cells/jetpad/BlockCell.java (1 line): - line 35: // TODO: not used? remove? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/editor/StringLiteral_SubstituteMenu.java (1 line): - line 70: // TODO escape pattern core/tool/environment/source_gen/jetbrains/mps/tool/environment/PlatformPlugins.java (1 line): - line 269: // FIXME the funny thing about plugin CL here is that at the moment we collect plugin CP with all the libraries into global plugins/mps-devkit/languages/mpsdevkit/source_gen/jetbrains/mps/ide/devkit/actions/CreateDefaultEditor_Action.java (1 line): - line 110: // FIXME desperately need aspectIdentity(ref) operation to avoid hard-coded values core/generator/source/jetbrains/mps/generator/impl/reference/ReferenceInfo_MacroBase.java (1 line): - line 88: // FIXME showErrorIfStrict languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/check_ArrayLength_NonTypesystemRule.java (1 line): - line 30: // FIXME: almost duplicate code with MultipleFilesParser core/openapi/source/org/jetbrains/mps/openapi/model/ResolveInfo.java (1 line): - line 30: // FIXME have to decide about the contract: could be null->null, or null->PredefinedValue, or notnull. languages/baseLanguage/baseLanguage.scopes/source_gen/jetbrains/mps/baseLanguage/scopes/MethodResolveUtil.java (1 line): - line 326: // FIXME in fact, returned map doesn't depend on IMethodCall itself, rather its getInstanceType():ClassifierType, plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/KtEnvironmentConfig.java (1 line): - line 63: // TODO support JvmName annotation (+ do we need to sanitize the JvmName?) workbench/mps-workbench/source/jetbrains/mps/ide/java/IJavaDocElementType.java (1 line): - line 24: super(debugName, StdFileTypes.JAVA.getLanguage()); //TODO: should be a separate language for javadoc? languages/languageDesign/resources/source_gen/jetbrains/mps/lang/resources/constraints/FactoryMethodIcon_Constraints.java (1 line): - line 39: // FIXME proper way to do the same is to introduce an interface, like "IconResource" plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/behavior/BuildSourcePath__BehaviorDescriptor.java (1 line): - line 46: // FIXME pay attention to uses of the method. Its uses may expect certain layout. E.g. its uses with 'module descriptor of' (BuildMpsLayout_ModuleJars) suggest workbench/mps-ui/source/jetbrains/mps/ide/ui/fileEditor/MPSEditorEmptyTextPainter.java (1 line): - line 33: // TODO: fix actions with parameters generator - action parameter must not silently affect ID! plugins/mps-devkit/source/jetbrains/mps/ide/devkit/generator/TraceNodeUI.java (1 line): - line 80: // TODO initialize myText once in the cons workbench/mps-workbench/source/jetbrains/mps/workbench/dialogs/project/newproject/ProjectFactory.java (1 line): - line 120: // FIXME here we can control whether to get controlled IFile instance (through VFSManager) or plugins/mps-make/source_gen/jetbrains/mps/ide/make/actions/MakeActionParameters.java (1 line): - line 155: // FIXME: this effectively aborts make if changes were made only to upstream dependencies core/tool/common/source_gen/jetbrains/mps/tool/common/Script.java (1 line): - line 23: private static final String ELEMENT_TODO = "todo"; plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/proxies/ObjectValueProxy.java (1 line): - line 76: // TODO merge with Evaluator methods invocation core/kernel/source/jetbrains/mps/validation/ValidationSettings.java (1 line): - line 22: * FIXME I suspect there's no need in settings of IModelValidationSettings these days, therefore CheckerRegistry is kept separate so that core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/metadata/KtTypeParser.java (1 line): - line 101: // TODO make myResult=flexible[upper=visitor, lower=myResult] plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/merge/ModelLot.java (1 line): - line 101: // FIXME add explicit dispose of models plugins/mps-java/platform/modules/jetbrains.mps.java.platform/source_gen/jetbrains/mps/java/platform/actions/OverrideImplementMethodAction.java (1 line): - line 54: // FIXME bad model access approach - individual reads, really?! languages/baseLanguage/baseLanguage.util/source_gen/jetbrains/mps/baseLanguage/util/plugin/refactorings/BasicMoveRefactoring.java (1 line): - line 34: // TODO (not sure if it's a good solution) core/project/source/jetbrains/mps/project/Project.java (1 line): - line 223: // FIXME what does 'removeModule' mean here?! workbench/mps-editor/source/jetbrains/mps/ide/editor/MPSEditorOpener.java (1 line): - line 79: /* TODO use SNodeReference instead of SNode */ workbench/mps-platform/source/jetbrains/mps/ide/projectView/ProjectViewSelectInProvider.java (1 line): - line 39: * TODO move out of [mps-platform] into IdeaPlugin, where it's used (provided there's still a need, didn't check that). plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/platform/mergedriver/MergeDriverOptionsDialog.java (1 line): - line 37: // TODO get rid of code duplication plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/core/mergedriver/MergeDriverMain.java (1 line): - line 40: // TODO Git: while %O, %A and %B arguments don't give name of original file (so that we can't use it to detect proper ModelFactory), %P does give us original file name, use it! workbench/mps-workbench/source/jetbrains/mps/ide/editorTabs/tabfactory/TabsComponent.java (1 line): - line 28: // FIXME odd contract - getCurrentTabAspect, editNode. Reasonable: getComponent, next/prevTab, dispose. selection - depends on the rest plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/ComponentFunctionCall__BehaviorDescriptor.java (1 line): - line 59: // TODO use KotlinScopes? core/patternRuntime/source/jetbrains/mps/lang/pattern/GeneratedMatcher.java (1 line): - line 55: // FIXME compatibility code. Shall introduce typed getters and use them instead core/persistence/source/jetbrains/mps/smodel/SModelHeader.java (1 line): - line 124: // FIXME move save and load into respective class (binary persistence) core/kernel/source/jetbrains/mps/smodel/runtime/impl/ConceptDescriptorBuilder2.java (1 line): - line 38: * FIXME why j.m.smodel.runtime is part of [kernel] (especially semi-API part like ConceptKind) editor/editor-runtime/source/jetbrains/mps/nodeEditor/PlatformEditorEmulation.java (1 line): - line 694: // TODO how is this possible? IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/PsiChangeProcessor.java (1 line): - line 70: // TODO look with what locks is it called plugins/mps-kotlin/ide/jetbrains.mps.kotlin.idePlugin/source/jetbrains/mps/kotlin/idePlugin/KotlinPluginService.kt (1 line): - line 20: * TODO if project is no longer needed in KotlinStubModelsFastFindSupport, move this code to the module activator plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/newparser/FullASTConverter.java (1 line): - line 682: // FIXME should detach be called here? it depends on whether we're already in a model... languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/RemarkStatement__BehaviorDescriptor.java (1 line): - line 36: isToDo = v.startsWith("TODO:") || v.startsWith("FIX:") || v.startsWith("todo:"); core/kernel/source/jetbrains/mps/extapi/persistence/SourceRoot.java (1 line): - line 38: * Currently the type is String since we do not have relative path classes in the API. [But soon enough it will be replaced FIXME AP] core/typesystemEngine/source/jetbrains/mps/newTypesystem/state/blocks/Block.java (1 line): - line 40: // FIXME use SNodeReference instead of 2 strings! plugins/mps-java/platform/modules/jetbrains.mps.java.platform/source_gen/jetbrains/mps/java/platform/actions/ResolveStubReferencesToMPSGlobal_Action.java (1 line): - line 71: // FIXME what's the reason to reload modules here? Expecting optimized model imports to affect module dependencies?! core/project/source/jetbrains/mps/project/facets/PlainTextTargetFacet.java (1 line): - line 92: // FIXME need to decide what does null location means. Whether it's "from module" or "none" IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/project/PluginsPathMacroCrutch.java (1 line): - line 34: // TODO Use addLegacyMacro() plugins/mps-devkit/languages/editor/source_gen/jetbrains/mps/ide/devkit/editor/ConceptEditorHelper.java (1 line): - line 59: // FIXME have to go through LanguageRegistry/LanguageRuntime, but there's no easy way to get ComponentHost languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/check_ArrayClone_NonTypesystemRule.java (1 line): - line 30: // FIXME: almost duplicate code with JavaToMpsConverter core/typesystemEngine/source/jetbrains/mps/typesystem/LegacyTypecheckingProvider.java (1 line): - line 135: // TODO: is the trace only supported for "main" generator thread? apparently it has always been this way languages/languageDesign/editor/source_gen/jetbrains/mps/lang/editor/behavior/ConceptFunctionParameter_node__BehaviorDescriptor.java (1 line): - line 35: // TODO: remove conceptFunction != null check. It is here only for the compatibility with mbeddr generator languages/languageDesign/smodel/source_gen/jetbrains/mps/lang/smodel/migration/MigrateModelReferenceExprWithRepo.java (1 line): - line 55: // FIXME node// here awaits when node.reference.set(nodePointer) operation is added to get replaced with the one. core/openapi/source/org/jetbrains/mps/openapi/model/SNodeAccessListener.java (1 line): - line 35: * FIXME need better wording to stress events may come from multiple threads, perhaps some sync examples or single-thread listener classes to re-use? core/persistence/source/jetbrains/mps/persistence/registry/BaseInfo.java (1 line): - line 48: // FIXME drop this method (make ltoi to return unsigned value). Meanwhile, use non-negative values for comparator purposes only - I'd like to keep core/generator/source/jetbrains/mps/generator/runtime/TemplateDeclaration.java (1 line): - line 37: // FIXME though not in use, shall revisit TemplateCall class and CallMacro, to see if I could/should change the logic when compiled template is invoked IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/actions/MakeDirAModel.java (1 line): - line 97: //TODO: This methods are from SModuleOperations.createModelWithAdjustments. Need to check them really needed. core/tool/environment/source_gen/jetbrains/mps/tool/environment/Environment.java (1 line): - line 24: * AP: TODO consider merging all the project creation methods jps/jps-plugin/src/jetbrains/mps/jps/project/JpsLibSolution.java (1 line): - line 93: // FIXME see comment in StubSolutionIdea.addModelRoots. I've got VF here, and instead of using brand-new, shiny QP, I resort to some dubious editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/EditorCell_Property.java (1 line): - line 62: // TODO: specify property name directly - we know it from PropertyAccessor IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/refactoring/MoveRenameBatch.java (1 line): - line 157: // TODO !!! a better way to synchronize idea and mps is needed core/tool/common/source_gen/jetbrains/mps/tool/common/MigrateTaskProperties.java (1 line): - line 64: // FIXME I don't quite understand the need for this, perhaps, shall just drop? IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/facet/MPSFrameworkSupportProvider.java (1 line): - line 55: // TODO: find better way to detect how to get proper content entry/sourceFolder from modifiableRootModel workbench/mps-platform/source/jetbrains/mps/workbench/action/LegacyDataContextBridge.java (1 line): - line 63: // FIXME what about MPSCommonDataKeys.CONTEXT_MODEL and MPSCommonDataKeys.CONTEXT_MODULE? core/tool/ant/source_gen/jetbrains/mps/build/ant/junit/ServiceMessageFilteringStreamHandler.java (1 line): - line 35: // FIXME this should be logged as error, otherwise we're hiding problems from the user plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/platform/integration/ModelDiffViewer.java (1 line): - line 185: // FIXME although not a big deal to craft a StreamDataSource here languages/languageDesign/editor/source_gen/jetbrains/mps/lang/editor/editor/EditorCellModel_TransformationMenu.java (1 line): - line 539: // TODO: add another binary operation action recognizing YouTrack Workflow-like binary operations (with the link to a kind) core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/references/JavaClassReference.java (1 line): - line 26: // TODO name handling might differ from ASMNodeId, it depends who inputs it plugins/mps-java/platform/modules/jetbrains.mps.java.platform/source_gen/jetbrains/mps/java/platform/index/ClassifierSuccessorsFinder.java (1 line): - line 92: // FIXME In fact, I don't see any reason to pass VFs into indexing at all. The idea of the index, as I see workbench/mps-workbench/source/jetbrains/mps/ide/findusages/view/optionseditor/options/FindersOptions.java (1 line): - line 60: * FIXME Due to legacy/transition issues, finders are also consulted for isVisible+isApplicable core/persistence/source/jetbrains/mps/smodel/persistence/def/v9/IdEncoder.java (1 line): - line 40: * FIXME this class is public merely for the sake of GoToNodeById action. Once this encoder is part of persistence API, action shall use API, not this class workbench/mps-platform/source/jetbrains/mps/ide/library/LibraryManagerPreferences.java (1 line): - line 51: //TODO: List of libraries does not include predefined ones. Do we need to include them to the list? languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/SingleLineComment__BehaviorDescriptor.java (1 line): - line 55: // TODO use LazyParentScope instead plugins/mps-vcs/solutions/jetbrains.mps.ide.vcs/source_gen/jetbrains/mps/vcs/suspicious/PlatformActivityTracker.java (1 line): - line 34: // TODO: 232 platform API change workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/NewRootNodeAction.java (1 line): - line 57: // FIXME is there true need to extend BaseAction here? workbench/mps-refactoring/jetbrains.mps.ide.refactoring.platform/source_gen/jetbrains/mps/ide/platform/refactoring/RefactoringDialog.java (1 line): - line 35: // TODO we can just refer to the OK action plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/scopes/signed/KindPriorityPropertyScope.java (1 line): - line 61: // TODO keeping the same or null source means we need to ensure the SIGNATURE status is properly handled and returned testbench/jetbrains.mps.testbench/source_gen/jetbrains/mps/testbench/junit/runners/PushEnvironmentRunnerBuilder.java (1 line): - line 77: // FIXME Seems better to invoke cons(Environment), if present, to instantiate test object, rather than use setter. plugins/mps-vcs/META-INF/plugin.xml (1 line): - line 105: FIXME has to point to /languages as it's in build layout in mpsVcs but that would lead to module discovery errors when running from sources core/kernel/source/jetbrains/mps/smodel/adapter/structure/types/TypeRegistry.java (1 line): - line 64: // FIXME make extensible editor/editor-runtime/source/jetbrains/mps/nodeEditor/SearchPanel.java (1 line): - line 347: // TODO FIXME plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/NavigationOperation__BehaviorDescriptor.java (1 line): - line 49: // TODO try with var scope and fun scope core/kernel/source/jetbrains/mps/smodel/constraints/ReferentConstraintsContextImpl.java (1 line): - line 41: // TODO caching core/kotlin-stub/source_gen/jetbrains/mps/kotlin/stubs/smodel/metadata/KtTypeAliasParser.java (1 line): - line 24: // TODO ? plugins/execution-api/source_gen/jetbrains/mps/execution/api/configurations/BaseMpsProducer.java (1 line): - line 93: * TODO keep it after migration to the {@link com.intellij.execution.actions.RunConfigurationProducer} plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/core/mergedriver/TextMerger.java (1 line): - line 16: // TODO: add text merger call for SVN command line tool plugins/mps-idea-integration/MPSPlugin/source_gen/jetbrains/mps/plugin/MPSProjectIDEHandler.java (1 line): - line 294: // FIXME however, it's ugly and needs rework languages/languageDesign/make/solutions/jetbrains.mps.make.facets/source_gen/jetbrains/mps/make/facets/JavaCompile_Facet.java (1 line): - line 103: // FIXME WorkbenchMakeService shall not care about kotlin compilation, move kotlinOptions initialization elsewhere plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/platform/integration/OptimizeImportsCheckinHandler.java (1 line): - line 87: // TODO: extract common code from OptimizeModelImports plugins/mps-devkit/languages/pluginSolutions/lang.generator/source_gen/jetbrains/mps/lang/generator/pluginSolution/plugin/NewCreateRootRule_Action.java (1 line): - line 94: // TODO: let user to choose mapping config? languages/languageDesign/smodel/generator/source_gen/jetbrains/mps/lang/smodel/generator/baseLanguage/util/ConceptMethodSuperCall.java (1 line): - line 64: // FIXME perhaps, shall check if method is static and use distinct InvokationType for invokeSpecial(SAbstractConcept), not the one with (SNode) core/tool/environment/source_gen/jetbrains/mps/tool/environment/MpsEnvironment.java (1 line): - line 58: // FIXME at the moment, we always build CP for a plugin, despite the fact it could be in a global CP already core/tool/environment/source_gen/jetbrains/mps/tool/environment/ProjectStrategyBase.java (1 line): - line 60: // FIXME figure out why project.getProjectModulesWithGenerators() instead of all repo modules languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/textGen/BaseClassConceptTextGen.java (1 line): - line 32: // FIXME can't use members child as there are still uses of deprecated containment roles (e.g. Classifier.method) core/typesystemEngine/source/jetbrains/mps/newTypesystem/context/ReportingTypecheckingContext.java (1 line): - line 109: // TODO: rethink the way errors affect the typechecking core/generator/source/jetbrains/mps/generator/impl/TemplateProcessingFailureException.java (1 line): - line 29: * FIXME now it's thrown to indicate structure issues with template models, which can (and shall) be checked statically, with model validation, plugins/debugger-api/api/source_gen/jetbrains/mps/debug/api/breakpoints/BreakpointProvidersManager.java (1 line): - line 29: // FIXME refactor tight coupling b/w BreakpointsUiComponent->BreakpointManagerComponent->BreakpointProvidersManager, see MPS-38537 for stacktrace core/java-stub/source/jetbrains/mps/java/stub/StubReferenceFactory.java (1 line): - line 138: * FIXME use SModelId, once have switched to package id without module id (now need module reference to build stub ModuleId) core/vfs/source/jetbrains/mps/util/PathSpecBundle.java (1 line): - line 32: // FIXME would prefer r/o stream, but don't want to dive into spliterator's characteristics right now core/smodel/source/jetbrains/mps/RuntimeFlags.java (1 line): - line 64: * FIXME bad name, it's not necessarily merge we run at, e.g. ConvertToBinary task uses it as well (set to true), core/aspects/behavior/behavior-api/source/jetbrains/mps/core/aspects/behaviour/api/SExecutable.java (1 line): - line 29: * TODO extend SConceptFeature and replace #getConcept() with getOwner editor/editor-api/source/jetbrains/mps/openapi/editor/cells/EditorCell.java (1 line): - line 89: // TODO: same as inset? core/make-runtime/source/jetbrains/mps/make/kotlin/KotlinCompilerRunner.kt (1 line): - line 169: // TODO taken from CompilerRunnerUtil (jps-plugin), is there something similar in MPS? do we really need tools jar in MPS or java version is ensured to be > 9? languages/languageDesign/migration/solutions/runtime/source_gen/jetbrains/mps/lang/migration/runtime/base/MigrationModuleUtil.java (1 line): - line 65: // FIXME shall be approached in a different way as it's wrong to access version through SLanguage plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/wizard/MigrationError.java (1 line): - line 19: * FIXME quite confusing method. If we throw an exception with canIgnore() == true, what does it actually mean? IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSPsiRefList.java (1 line): - line 82: // FIXME should be done via addChild etc. core/persistence/source/jetbrains/mps/persistence/MPSPersistence.java (1 line): - line 39: * FIXME wrong placement, just can't find a better one, and don't want to introduce a separate CU core/generator/source/jetbrains/mps/generator/impl/plan/ConditionBuilder.java (1 line): - line 78: // FIXME need ComponentHost here! workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/roots/editors/FileBasedModelRootEditor.java (1 line): - line 236: //TODO: find better way to update tools/tools/source/jetbrains/mps/excluded/MPSModuleCollector.java (1 line): - line 69: // FIXME this looks pretty much as ModulesMiner, except for some custom MacroHelper. Don't see a reason to keep duplicated module discovery code. IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSFindUsagesProvider.java (1 line): - line 70: return "TODO (getNodeText)"; core/kernel/source/jetbrains/mps/errors/IErrorReporter.java (1 line): - line 30: // FIXME Bloody mess this interface is. Documented nicely for others to waste their time not. List>, ORLY?! plugins/mps-build/languages/build.mps.runner/generator/source_gen/jetbrains/mps/build/mps/runner/generator/template/main/QueriesGenerated.java (1 line): - line 94: // FIXME this is a HACK to address 2 different PLUGIN2LAYOUT mappings, one for BML_Plugin->Folder, core/kernel/source/jetbrains/mps/reloading/CommonPaths.java (1 line): - line 53: // FIXME is there true need for the method? languages/baseLanguage/closures/source_gen/jetbrains/mps/baseLanguage/closures/constraints/ClassifierTypeUtil.java (1 line): - line 136: // FIXME once RuntimeUtil switches to use regular nodes instead of stubs, shall fix this as well. core/kernel/source/jetbrains/mps/datatransfer/PasteNodeData.java (1 line): - line 39: // at the moment, make sense for "in" PND only, serves as an input to constuct myRequireResolveReferences for paste. FIXME get rid of SReference workbench/mps-platform/source/jetbrains/mps/workbench/ProjectModelFilter.java (1 line): - line 39: * FIXME notion of 'project' model is ill-defined here. Now, this code workbench/mps-workbench/source/jetbrains/mps/workbench/actions/model/DeleteModelHelper.java (1 line): - line 134: // FIXME revisit boolean[] descriptorChanged, which seems to be of no use core/kernel/source/jetbrains/mps/extapi/persistence/FolderDataSource.java (1 line): - line 114: // FIXME this approach (with new FileDataSource each time) renders DataSourceListeners, attached to such object, useless plugins/mps-vcs/languages/mergehints.plugin/source_gen/jetbrains/mps/vcs/mergehints/plugin/plugin/Version_Control_TabDescriptor.java (1 line): - line 99: // FIXME once nodePointer has property type (node-ptr), can use set-ptr here workbench/mps-workbench/source/jetbrains/mps/workbench/actions/NewMPSProjectAction.java (1 line): - line 52: //TODO (MPS-35169) Enable when the platform gets updated core/generator/source_gen/jetbrains/mps/generator/impl/DebugMappingsBuilder.java (1 line): - line 60: when creating a CP model. If TT keeps map for the given transition only (bounded to previous CP), then the issue is likely less important (though still valid - in case node id of a CP node matches nodeid of some irrelevant transient one). Would be great if we can tell if keyInputNode comes from a transient, external or CP model. FIXME I still need to deal with 'foreign' nodes as ML keys, and then I could decide better what to do here. core/typesystemEngine/source/jetbrains/mps/newTypesystem/CoercionManager.java (1 line): - line 40: // TODO: why this dependency? IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/facet/MPSFacetConfiguration.java (1 line): - line 138: // FIXME why do we rely on SolutionIdea to set namespace but set id here? Can we do both in a single place, PLEASE? core/model/source/jetbrains/mps/model/ModelDeleteHelper.java (1 line): - line 98: // FIXME what about TestsFacet, why not deleting its artifacts? plugins/mps-devkit/languages/mpsdevkit/source_gen/jetbrains/mps/ide/devkit/actions/NewLanguage_Action.java (1 line): - line 114: // TODO: Sync ProjectPane.rebuildTree() with NewSolution, CloneModule actions workbench/mps-platform/source/jetbrains/mps/smodel/EDTExecutorInternal.java (1 line): - line 47: * FIXME TO be replaced with single threaded executor core/kotlin-stub/source/jetbrains/mps/kotlin/stubs/extension/sourceFile.kt (1 line): - line 21: // TODO the property defined in klibExtensions has type Int?, but we need KlibSourceFile IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSPsiClassifierType.java (1 line): - line 157: // FIXME should we strip type params here core/persistence/source/jetbrains/mps/persistence/binary/NodesWriter.java (1 line): - line 77: // FIXME ineffective to check roles individually, but no easy way to travel all children grouped by role. core/kernel/source/jetbrains/mps/smodel/language/DeploymentNotificationImpl.java (1 line): - line 94: // FIXME HOWEVER this might violate threading (for unload events to come before the actual CL dispose, we run them in the same thread) plugins/mps-kotlin/languages/kotlin.smodel/source_gen/jetbrains/mps/kotlin/smodel/behavior/LinkAccessExpression__BehaviorDescriptor.java (1 line): - line 61: // TODO as mutable list for real? core/tool/ant/source_gen/jetbrains/mps/build/ant/GeneratorSettings.java (1 line): - line 76: // TODO partial overrides scenario - first feed 'base' settings, if any, to override later with those editor/typesystemIntegration/source_gen/typesystemIntegration/languageChecker/AutoResolver.java (1 line): - line 81: // TODO: use same settings as in LanguageEditorChecker editor/editor-runtime/source/jetbrains/mps/nodeEditor/cellMenu/AbstractNodeSubstituteInfo.java (1 line): - line 123: // TODO make this thread local maybe? languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/CheckExcessTypeCasts_NonTypesystemRule.java (1 line): - line 27: // TODO: typecast may not be superfluous in a type inference context (MPS-15011) editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/EditorCell_URL.java (1 line): - line 59: // TODO: specify property name directly - we know it from PropertyAccessor plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/client/ProgramParametersCalculator.java (1 line): - line 182: // FIXME Shall use proper ComponentHost.findComponent to access PathMacros instance workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/genpriorities/GeneratorPrioritiesTree.java (1 line): - line 68: // FIXME isRight = !isLeft, depGenerators used only when isRight - bloody sh!t. Why not initTree is package local, so that caller could configure this Tree(?!) as needed? workbench/mps-workbench/source/jetbrains/mps/workbench/dialogs/MoveFileDialog.java (1 line): - line 43: // FIXME I wonder if there's a proper alternative in IDEA plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/tool/UnitTestViewComponent.java (1 line): - line 205: // FIXME don't quite understand why would anyone need this intermediate JPanel as a DataProvider IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/psi/MPSNodeFileViewProvider.java (1 line): - line 130: // TODO: check if we need to override this method. core/kotlin-stub/source/jetbrains/mps/kotlin/stubs/loading/references/KtReferenceResolver.kt (1 line): - line 48: // TODO see jetbrains.mps.java.stub.StubReferenceFactory FIXME, update this class once the FIXME there has been resolved plugins/execution-configurations/plugin/source_gen/jetbrains/mps/execution/configurations/implementation/plugin/plugin/JUnitInProcessRunStarter.java (1 line): - line 153: // FIXME AbstractJUnitTestMixin.stopRun() is no-op for JUnit5, would be nice to find a way to interrupt it. workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/UsagesView.java (1 line): - line 236: // FIXME the only use is in ModelCheckerViewer, which is likely plain wrong. Clients of MCV shall use plugins/mps-testing/META-INF/plugin.xml (1 line): - line 30: jetbrains.mps.ide editor/typesystemIntegration/source/jetbrains/mps/typesystem/checking/AbstractTypesystemEditorChecker.java (1 line): - line 154: // FIXME: this only hides the problem, must find out why the node has been removed core/openapi/source/org/jetbrains/mps/openapi/module/ModelAccess.java (1 line): - line 114: * FIXME need thorough documentation plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/behavior/KotlinPropertyGetterCall__BehaviorDescriptor.java (1 line): - line 48: // TODO assert somewhere type must be explicit plugins/mps-ide/modules/lang.typesystem/source_gen/jetbrains/mps/lang/typesystem/pluginSolution/plugin/ShowNodeType_Action.java (1 line): - line 72: // TODO errors reported while computing type plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/SilentModuleVersionUpdater.java (1 line): - line 77: * FIXME perhaps, this class, SMVU, shall keep responsibility to collect changes only, and notify core/typesystemEngine/source/jetbrains/mps/newTypesystem/SubtypingResolver.java (1 line): - line 144: // FIXME myTypeCheckingContext can be null here! core/kernel/source/jetbrains/mps/smodel/language/AspectRootConfiguration.java (1 line): - line 24: * FIXME "concept" parameter in these methods has to be SConcept + isAbstract() == false, but in generated code we languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/textGen/ClassifierUnitContext.java (1 line): - line 19: // FIXME there's likely no reason to pass package name and fqName (except, perhaps, for nested classes) core/openapi/source/org/jetbrains/mps/openapi/project/Project.java (1 line): - line 59: * FIXME present contract makes little sense, no reason to exclude generators here (other than input for project pane, plugins/mps-vcs/solutions/jetbrains.mps.ide.vcs/source_gen/jetbrains/mps/vcs/changesmanager/tree/FeatureForestMapSupport.java (1 line): - line 52: // FIXME why project component listens to global differences? workbench/mps-workbench/source/jetbrains/mps/ide/findusages/view/optionseditor/options/ScopeOptions.java (1 line): - line 30: // FIXME myModel and myModule are DEFAULT_VALUE - why do we serialize this workbench/mps-ui/source/org/jetbrains/mps/openapi/ui/persistence/ModelRootEntryFactory.java (1 line): - line 22: // FIXME unfortunate API, type parameters for reflective/generic invocations bring more harm than good. build/migrateSampleAndTestProjects.xml (1 line): - line 30: FIXME figure out what's exactly prevents automatic migration, it's very tedious activity core/kotlin-stub/source/jetbrains/mps/kotlin/stubs/loading/KotlinStubModelRoot.kt (1 line): - line 55: // TODO could get mask data from other models? core/kernel/source/jetbrains/mps/project/Solution.java (1 line): - line 33: /* TODO make package local, move to appropriate package */ core/project/source/jetbrains/mps/project/structure/GeneratorDescriptorModelProvider.java (1 line): - line 139: // return !myModule.isReadOnly() && myModule.generateTemplates(); // FIXME WORK IN PROGRESS, remove once templates are ready. plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/editor/ISuperTypeSpecifier_TransformationMenu.java (1 line): - line 144: // TODO correct transform menu editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/contextAssistant/WhatsThisActionItem.java (1 line): - line 90: // FIXME next one is ugly, but even JumpToContextAssistant_Action.class.getName() is no better, as it assumes core/generator/source/jetbrains/mps/generator/runtime/ReferenceResolver.java (1 line): - line 53: * FIXME perhaps, shall get a typed return value? SNode or {@code } or a join of (SNode|String|SNodeReference)? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/constraints/Identifiers.java (1 line): - line 16: * TODO add support for unicode characters plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/util/ArtifactLookup.java (1 line): - line 59: // FIXME any idea what's the purpose of this code? languages/languageDesign/actions/generator/source_gen/jetbrains/mps/lang/actions/generator/baseLanguage/template/main/QueriesGenerated.java (1 line): - line 124: // TODO genContext.get output ActionAspectDescriptorClass for model model; plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/editor/KotlinFunctionCallArguments_ListSeparator.java (1 line): - line 58: // TODO implement for kotlin? workbench/mps-editor/source/jetbrains/mps/ide/editor/icons/NodeIconUpdater.java (1 line): - line 28: * FIXME: MPSNodesVirtualFileSystem listens to node deletion and rename, why doesn't it send out file changed events as well, why do we core/generator/source/jetbrains/mps/generator/GenPlanExtractor.java (1 line): - line 199: // perhaps, doesn't need ppi.myContributed, as long as I access GPT here anyway. FIXME refactor earlier IPP.discover() code, move it here workbench/mps-platform/source/jetbrains/mps/nodefs/NiceReferenceSerializer.java (1 line): - line 29: * FIXME works with root nodes only, references to children nodes would never get de-serialized. core/generator/source/jetbrains/mps/generator/impl/ParallelTemplateGenerator.java (1 line): - line 131: // FIXME chances are GRD for a root mapping rule doesn't list templateNode/rule, e.g. when rule had failed and we copied root instead workbench/mps-platform/source/jetbrains/mps/workbench/goTo/index/JavaStubNavigationContributor.java (1 line): - line 29: * FIXME There's little value in this class as its logic is identical with default behavior from core/kernel/source/jetbrains/mps/smodel/RegularModelDescriptor.java (1 line): - line 37: // FIXME SModelBase/SModelDefscriptorStub with getSModelInternal demand we keep SModel, not SModelData plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/diff/ui/common/DiffModelUtil.java (1 line): - line 72: // FIXME would be nice to employ SNodeImplAccess, like in #fixModelReferences(), below, but need an extra condition workbench/mps-workbench/source/jetbrains/mps/ide/ui/smodel/ReferencesTreeNode.java (1 line): - line 36: // TODO: add special icon for node references editor/editorlang-runtime/source/jetbrains/mps/editor/runtime/style/StyleAttributes.java (1 line): - line 51: // FIXME would be great to get LanguageRegistry instance here, workbench/mps-workbench/source/jetbrains/mps/ide/ui/smodel/PropertiesTreeNode.java (1 line): - line 34: // TODO: add special icon for node properties jps/common/src/jetbrains/mps/idea/core/facet/MPSConfigurationBean.java (1 line): - line 228: // FIXME unused, marked as transient to ensure we don't save anything back in case we happen to read a legacy value, remove once 2019.1 is out workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/MPSTreeNode.java (1 line): - line 162: * Although not final, extra care should be taken if overriding (FIXME perhaps, shall make final, and move isInitialized field here as well). plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/MigrationNotificationsSupport.java (1 line): - line 86: // FIXME there's single use of return value; I'd prefer just to expire() any notification and show the new one languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/replaceNode_QuickFix.java (1 line): - line 15: // FIXME split into specific quick fixes core/kernel/source/jetbrains/mps/project/structure/modules/mappingpriorities/MappingPriorityRule.java (1 line): - line 68: * @param repository FIXME in fact, MPR is two-fold and addresses both RT API and design time API for priority rules. plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/dataFlow/ThrowExpression_DataFlow.java (1 line): - line 15: // TODO if try/catch/finally -> go for proper branch languages/baseLanguage/tuples/languages/tuples/source_gen/jetbrains/mps/baseLanguage/tuples/scripts/UpdateTuplesRuntime_MigrationScript.java (1 line): - line 174: // FIXME there used to be code (e.g.TResource) that did new MultiTuple._2 instead of MultiTuple.from() editor/editor-runtime/source_gen/jetbrains/mps/editor/runtime/impl/CellUtil.java (1 line): - line 54: * TODO: think of moving jetbrains.mps.lang.editor.generator.internal into MPS plugins/mps-kotlin/solutions/kotlin.smodel.runtime/source_gen/kotlin/default/jetbrains/mps/kotlin/smodel/runtime/lib/SConceptKotlinOperations.kt (1 line): - line 15: // TODO get that in scope workbench/mps-ui/source_gen/jetbrains/mps/ide/ui/finders/ModelImportsUsagesFinder.java (1 line): - line 21: * FIXME I've got no idea why it resides in UI package, nor why it's in BL when it's plain Java core/persistence/source/jetbrains/mps/persistence/IndexAwareModelFactory.java (1 line): - line 91: // FIXME remove default once all subclasses override plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/api/members/SignatureBuilder.java (1 line): - line 246: // TODO clear suppress? core/findUsages-runtime/source_gen/jetbrains/mps/findUsages/ModelImportLookup.java (1 line): - line 44: FIXME need a mechanism to figure out uses of accessory language models, that are not explicitly mentioned in the imports. FindUsagesUtil relied on SModelOperations.allImportedModels, which resorted to global repository. As I don't want it here, stick to explicit imports only. May pass an optional LanguageRegistry for scenarios where we can access one. workbench/mps-platform/source/jetbrains/mps/ide/save/IdeMPSFileSaver.java (1 line): - line 44: // FIXME consider IMakeService check to move into SaveRepositoryCommand - whether other clients of repo save might workbench/mps-workbench/source/META-INF/MPSPlugin.template.xml (1 line): - line 210: workbench/mps-ui/source_gen/jetbrains/mps/ide/ui/finders/LanguageUsagesFinder.java (1 line): - line 81: // FIXME likely it's smarter to unwrap devkit at the caller's, wrapped with CompositeFinder languages/util/extension/source_gen/jetbrains/mps/lang/extension/constraints/BasicExtensionDeclaration_Constraints.java (1 line): - line 56: // FIXME for now, don't allow these extensions in languages or anywhere else except solution as we don't know how to generate activator workbench/mps-platform/source/jetbrains/mps/smodel/TryRunPlatformWriteHelper.java (1 line): - line 41: * TODO request #tryLock method from the IDEA platform core/generator/source/jetbrains/mps/generator/runtime/ReferenceReductionRule.java (1 line): - line 50: // FIXME just to narrow-down throws clause until TemplateRuleWithCondition get fixed workbench/mps-editor/source/jetbrains/mps/ide/editor/warningPanel/MPSEditorWarningsManager.java (1 line): - line 225: // FIXME ugly API plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/PathConverter.java (1 line): - line 158: // FIXME much similar to RelativePathHelper.normalize, except that this one resorts to full path when there's no macro variable (which is generally not the case core/typesystemEngine/source/jetbrains/mps/newTypesystem/context/SimpleTypecheckingContext.java (1 line): - line 227: // TODO [ts] move dispose -> trace tree plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/engine/VMEventsProcessorManagerComponent.java (1 line): - line 49: // FIXME non-symmetry in addDebugSession/removeDebugSession. Either both to come from core/kernel/source/jetbrains/mps/smodel/language/GeneratorRuntime.java (1 line): - line 52: * FIXME if sustains, need better (explicit) contract regarding the moment/state of the module when the method is invoked IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/facet/MPSFacet.java (1 line): - line 54: // FIXME bad smell: according to MPS-34809 stacktrace, IDEA does initFacet() without the need core/vfs/source/jetbrains/mps/vfs/path/PathFormat.java (1 line): - line 58: * FIXME single use of the method inside JarEntryFile makes parameters confusing. Does 'rootPart' here corresponds to 'rootPart' in #validateRoot()? languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/ClassifierMember__BehaviorDescriptor.java (1 line): - line 62: // FIXME this code duplicates VisibilityUtil.isVisible(contextNode, this), isn't it? workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/module/SModelGroupTreeNode.java (1 line): - line 20: // FIXME why 'util models' is namespace node? Won't this lead to children namespace nodes prepending 'util models' to any of its namespace? plugins/mps-devkit/languages/pluginSolutions/lang.structure/source_gen/jetbrains/mps/lang/structure/pluginSolution/plugin/MoveAbstractConceptSpecialization.java (1 line): - line 77: // FIXME in fact, LSMP.MigrationBuilder does the same for 'migration' aspect, and, perhaps, can share some configuration (like CH) here workbench/mps-refactoring/jetbrains.mps.ide.refactoring.platform/source_gen/jetbrains/mps/ide/platform/refactoring/RefactoringAccessEx.java (1 line): - line 53: // FIXME provisional code, shall pass ComponentHost/Platform/Project (a context) in here, core/tool/builder/source_gen/jetbrains/mps/tool/builder/make/GeneratorWorker.java (1 line): - line 41: // FIXME modules in processModuleFiles are registered with some internal owner, while here we shall use project.addModule(SModule) instead to languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/check_ConstructorInvocationStatementHasConstructor_NonTypesystemRule.java (1 line): - line 24: // FIXME do we truly need this checking rule for a mandatory link? Although it's specialization, core/smodel/source/jetbrains/mps/smodel/adapter/ids/SConceptId.java (1 line): - line 32: // FIXME all these method overrides needed for compatibility with MPS baseLanguage code that is referencing these methods. workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/favorites/providers/MPSFavoriteReferenceProvider.java (1 line): - line 138: // FIXME params.length == 3 is legacy scenario with ignored target ref. Left in case core/kernel/source/jetbrains/mps/project/structure/modules/mappingpriorities/MappingConfig_ExternalRef.java (1 line): - line 29: * FIXME Superfluous as long as {@link MappingConfig_SimpleRef} holds full-fledged {@link SModelReference} plugins/debugger-api/api/source_gen/jetbrains/mps/debug/api/AbstractDebugSession.java (1 line): - line 44: // TODO we do not care here if user selected something, we just replace old state. But we might do something more clever, like remember what user selected. workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/roots/editors/FileBasedModelRootEntry.java (1 line): - line 368: // TODO: verify this is correct workbench/mps-platform/source/jetbrains/mps/ide/projectView/MPSProjectViewSettings.java (1 line): - line 18: // FIXME Immutable in the superclass has to be made open plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/merge/MergeConflictsBuilder.java (1 line): - line 161: // FIXME In fact, shall use some configuration value instead of direct RT flag query. Perhaps, ChangeSet shall keep plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/typesystem/check_PropertyDeclaration_Initializer_NonTypesystemRule.java (1 line): - line 42: // TODO dataflow is needed for separated initializers, which explains the warning IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSPsiPrimitiveType.java (1 line): - line 47: // FIXME de-hardcode IdeaPlugin/mps-java/source_gen/jetbrains/mps/idea/java/psiStubs/PsiJavaStubModelDescriptor.java (1 line): - line 122: // TODO check for duplicate ids (in java sources there may be 2 classes with the same name languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/ClassifierType__BehaviorDescriptor.java (1 line): - line 435: // TODO : move to generic declaration? workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/hierarchy/AbstractHierarchyViewState.java (1 line): - line 220: // FIXME ShowConceptInHierarchy could use nodePointer, as well as local popup action, only ShowClassInHierarchy needs attention plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/settings/JUnitRunTypes.java (1 line): - line 44: // TODO: use it workbench/mps-platform/source/jetbrains/mps/workbench/index/RootNodeNameIndex.java (1 line): - line 93: // FIXME seems that can be replaced with regular load(StreamDataSource, ContentOption.CONTENT_ONLY) plugins/mps-build/languages/build.workflow/generator/source_gen/jetbrains/mps/build/workflow/generator/template/main/QueriesGenerated.java (1 line): - line 431: // FIXME this is a provisional hack to deal with MPS-26881, to deal with duplication of CopyOutcome core/kernel/source/jetbrains/mps/extapi/persistence/datasource/DataSourceFactoryFromPath.java (1 line): - line 44: // FIXME is there reason for Path, not IFile? Few uses of the method suggest IFile could work core/kernel/source/jetbrains/mps/smodel/TestLanguage.java (1 line): - line 48: // FIXME ModuleRepositoryFacade shall deal with SRepository instance and keep the knowledge what to do with a registered module, core/java-stub/source_gen/jetbrains/mps/baseLanguage/javastub/ASMNodeIdFactory.java (1 line): - line 55: // FIXME I don't see a reason for special treatment of annotation methods (just for the sake of not processing empty parameter types?) workbench/mps-ui/source/jetbrains/mps/ide/findusages/view/treeholder/treeview/path/PathItem.java (1 line): - line 48: // FIXME this is to deal with the fact DataTree caches [parent, PathItem.id] values to avoid duplicates in the tree core/openapi/source/org/jetbrains/mps/openapi/model/SNodeUtil.java (1 line): - line 53: // FIXME this is a hack to deal with incomplete story of repository relationship. core/kernel/source/jetbrains/mps/smodel/TrivialModelDescriptor.java (1 line): - line 32: * FIXME move to [smodel] once SModelBase cease to depend on [kernel] stuff editor/editor-runtime/source/jetbrains/mps/nodeEditor/menus/transformation/DefaultTransformationMenuContext.java (1 line): - line 115: // FIXME This is a hacky way to determine whether the cell is a no-target cell. plugins/mps-kotlin/ide/jetbrains.mps.kotlin.idePlugin/source/jetbrains/mps/kotlin/idePlugin/fileTypes/KotlinFileType.kt (1 line): - line 19: // TODO kotlin icon core/generator/source/jetbrains/mps/generator/CompositeInterpretedPlanProvider.java (1 line): - line 45: // FIXME in fact, shall respect additional languages passed through GenerationParametersProviderEx.getAdditionalLanguages(SModel), like workbench/mps-platform/source/jetbrains/mps/help/PlatformHelpURLProvider.java (1 line): - line 31: // TODO: revert to simple major + minor version after MPS-26466 is fixed, this is a duplicate of DocumentationHelper plugins/mps-modelchecker/solution/source_gen/jetbrains/mps/ide/modelchecker/actions/ReferenceableConceptsChecker.java (1 line): - line 84: // FIXME How does this work together with UnresolvedReferencesChecker? Both are specific checkers. workbench/mps-platform/source/jetbrains/mps/nodefs/MPSNodeVirtualFile.java (1 line): - line 61: // FIXME: check, perhaps is invoked with proper model access already. plugins/mps-build/pluginSolutions/jetbrains.mps.build.mps.pluginSolution/source_gen/jetbrains/mps/build/mps/pluginSolution/plugin/ImportModuleHelper.java (1 line): - line 47: // TODO once we allow standalone generators in Build language, have to put reasonable code here plugins/mps-make/plugin/source/jetbrains/mps/ide/make/actions/TransientModelsProjectActivity.kt (1 line): - line 19: // FIXME avoid calling ComponentManger.getComponent core/textgen/source/jetbrains/mps/text/impl/TextGenSupport.java (1 line): - line 157: // FIXME copy of SNodeTextGen.foundError() editor/editor-runtime/source_gen/jetbrains/mps/editor/runtime/impl/LayoutConstraints.java (1 line): - line 10: * TODO: Import layout logic into MPS languages/languageDesign/constraints/legacy/source_gen/jetbrains/mps/lang/constraints/migration/ConstraintsMigrationUtil.java (1 line): - line 79: // TODO should be simplified to <%(newParam)%.asNode> as soon as smodel lang supports links editor/editor-runtime/source/jetbrains/mps/nodeEditor/leftHighlighter/BracketsPainter.java (1 line): - line 68: // TODO: check if this code is useful workbench/mps-workbench/source/jetbrains/mps/workbench/actions/ShowTutorialAction.java (1 line): - line 27: // TODO: revert to simple major + minor version after MPS-26466 is fixed core/kernel/source/jetbrains/mps/smodel/constraints/ReferenceDescriptor.java (1 line): - line 104: /*TODO should be @NotNull*/ @Nullable SContainmentLink containmentLink, int position) { core/aspects/constraints/constraints-runtime/source/jetbrains/mps/core/aspects/constraints/rules/kinds/ContainmentContext.java (1 line): - line 34: @Nullable/*TODO @NotNull*/ private final SContainmentLink myLink; plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/OverloadedAssignment__BehaviorDescriptor.java (1 line): - line 45: // TODO this operator can actually benefit from either plusAssign or plus (same for other ops), maybe a special behavior should be introduced for that purpose. workbench/mps-refactoring/jetbrains.mps.ide.refactoring.platform/source_gen/jetbrains/mps/ide/platform/refactoring/RefactoringFacadeImpl.java (1 line): - line 102: // FIXME we've got Project here (in RefactoringContext), can't we use it instead of DataContext and FRAME? core/kernel/source/jetbrains/mps/lang/smodel/ConceptSwitchIndexBuilder.java (1 line): - line 27: * FIXME move to [smodelRuntime] module workbench/mps-platform/source/jetbrains/mps/ide/undo/WorkbenchUndoHandler.java (1 line): - line 50: // FIXME why it's not a command listener, so that gets notifications about command start and command end? Won't need IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/make/MPSRepositoryUtil.java (1 line): - line 69: // FIXME here we assume it's the same instance registered both in project repository and in deployment MPSModuleRepository plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/editor/StringLiteral_InsertExpression.java (1 line): - line 63: // TODO assert selected == content cell? plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/server/JUnit5ScriptTestContributor.java (1 line): - line 18: * FIXME With CommandLineTestExecutor switched to generic lang.test.junit5 launcher and TestData, this class is not in use any more plugins/mps-httpsupport/source_gen/jetbrains/mps/ide/httpsupport/manager/plugin/MPSInternalPortManager.java (1 line): - line 57: // FIXME use of the plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/IClassType__BehaviorDescriptor.java (1 line): - line 60: // TODO supported in kotlin, not in jvm erased signatures core/kernel/source/jetbrains/mps/persistence/DataSourceFactoryBridge.java (1 line): - line 77: * @return new data source and corresponding model creation parameters (FIXME remove params?) workbench/mps-platform/source/jetbrains/mps/ide/vfs/IdeaFile.java (1 line): - line 388: // FIXME I don't like use of umbrellaFileSystem here, if we know FSListenerContainer and languages/languageDesign/script/generator/source_gen/jetbrains/mps/lang/script/generator/baseLanguage/template/main/QueriesGenerated.java (1 line): - line 282: // TODO genContext.get output ScriptsDescriptorCons for model model; core/textgen/source/jetbrains/mps/text/impl/BufferLayoutConfiguration.java (1 line): - line 29: * TODO Perhaps, it's an overkill, and we shall expose TextBuffer from TextUnit, and configure BufferLayout directly, without this extra layer? core/typesystemEngine/source/jetbrains/mps/typesystem/inference/util/CacheNodeHandler.java (1 line): - line 29: // FIXME is it true we need WeakReference(SNode) and can't use SNodeReference? plugins/mps-devkit/languages/pluginSolutions/baseLanguage/source_gen/jetbrains/mps/baseLanguage/pluginSolution/plugin/JavaTargetVersionCheck.java (1 line): - line 35: // FIXME I believe using CompilerSettingsComponent directly is better approach here. After all, this is workbench-level extension, and got no troubles core/kernel/source/jetbrains/mps/util/io/ModelOutputStream.java (1 line): - line 250: writeString(concept.getQualifiedName()); // FIXME MetaAdapterFactory shall be explicit about what concept name it takes core/tool/ant/source_gen/jetbrains/mps/build/ant/junit/LaunchTestTask.java (1 line): - line 51: // FIXME I wonder why we didn't specify system CL as we do for runMPS task? plugins/mps-migration/migration-platform/sources/jetbrains/mps/migration/global/ProjectMigrationsRegistry.java (1 line): - line 127: // FIXME perhaps, shall expose recordActualVersion(Project) to update the property once project core/kernel/smodelRuntime/source_gen/jetbrains/mps/lang/smodel/generator/smodelAdapter/SEnumOperations.java (1 line): - line 107: // FIXME we don't support identity of enum literals yet, resort to liternal name core/kernel/source/jetbrains/mps/smodel/LanguageAspect.java (1 line): - line 79: //TODO must be changed for each major/minor version release IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSPackage.java (1 line): - line 160: //TODO: add @Override in 3.3 core/textgen/source/jetbrains/mps/text/impl/TextBufferImpl.java (1 line): - line 145: // FIXME what if there's optional TextArea, which is not necessarily filled with any data, but layout core/generator/source/jetbrains/mps/generator/impl/interpreted/TemplateDeclarationInterpreted.java (1 line): - line 74: // FIXME weave() in generated templates is not recorded into trace editor/editor-api/source/jetbrains/mps/openapi/editor/cells/SubstituteAction.java (1 line): - line 35: * FIXME 1 usage: {@code NodeItemCellRenderer#getIcon(SubstituteAction, String)} languages/languageDesign/generator/languages/templateLanguage/source_gen/jetbrains/mps/lang/generator/typesystem/check_TemplateDeclaration_NonTypesystemRule.java (1 line): - line 33: // FIXME copy-paste of identical code from InlineTemplateWithContext_RuleConsequence IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/psi/impl/file/MPSFileViewProviderFactory.java (1 line): - line 78: // TODO proper copy? plugins/mps-devkit/source/jetbrains/mps/ide/devkit/typesystem/trace/TypeSystemTracePanel.java (1 line): - line 70: // TODO: refactor into a separate class plugins/execution-configurations/junit/launcher/source_gen/jetbrains/mps/baselanguage/unitTest/execution/launcher/JUnit5TestExecutor.java (1 line): - line 22: // FIXME similar to AbstractJUnit5Launcher and subclasses. Eventually, shall get converged into single facility workbench/mps-platform/source/jetbrains/mps/ide/vfs/ProjectRootListenerComponent.java (1 line): - line 68: // FIXME is there's anything in MPSProject better suited to find out project root. If not, why? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/smartcast/SmartCastType.java (1 line): - line 92: // TODO are these pre filters valid? workbench/mps-platform/source/jetbrains/mps/workbench/choose/ChooseByNameData.java (1 line): - line 130: // FIXME use of multimap is merely a quick way to support elements with identical names. It's quite ineffective (memory-wise) structure. workbench/mps-workbench/source/jetbrains/mps/ide/generator/GenerationCheckHelper.java (1 line): - line 39: // FIXME I don't expect ModelValidator implementations and contributions through this extension point, keep for 1 release and then drop plugins/mps-kotlin/languages/kotlin.smodel/source_gen/jetbrains/mps/kotlin/smodel/behavior/ConceptType__BehaviorDescriptor.java (1 line): - line 60: // TODO remove that and prefer downcast semantics? workbench/mps-workbench/source/jetbrains/mps/plugins/BasePluginManager.java (1 line): - line 153: // FIXME I'm not certain keeping null for PC is a good idea. Indeed, we ensure consistent core/typesystemEngine/source/jetbrains/mps/newTypesystem/relations/ComparableRelation.java (1 line): - line 44: // TODO: why not use global TypeChecker? there can be the only one, after all core/typesystemEngine/source/jetbrains/mps/typesystem/inference/RulesManager.java (1 line): - line 100: // TODO: cleanup languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/check_UnqualifiedEnumConstant_NonTypesystemRule.java (1 line): - line 41: // FIXME: duplicate code with JavaToMpsConverter languages/languageDesign/resources/source_gen/jetbrains/mps/lang/resources/constraints/ConstantFieldIcon_Constraints.java (1 line): - line 39: // FIXME proper way to do the same is to introduce an interface, like "IconResource" editor/editor-runtime/source/jetbrains/mps/nodeEditor/cellMenu/SubstitutionTrial.java (1 line): - line 126: // TODO weird heuristic plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/util/UnpackHelper.java (1 line): - line 66: // FIXME no uses for the method, delete? testbench/modules/testBehavior/languages/L1/source_gen/BHL1/behavior/A__BehaviorDescriptor.java (1 line): - line 118: // TODO write test core/generator/source_gen/jetbrains/mps/generator/impl/MappingLabelExtractor.java (1 line): - line 48: // FIXME in fact, nodePtr likely to point to external model (either CP or completely plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/dataFlow/ContinueExpression_DataFlow.java (1 line): - line 16: // TODO proper loop abstraction languages/baseLanguage/lightweightdsl/source_gen/jetbrains/mps/baseLanguage/lightweightdsl/behavior/DSLDescriptor__BehaviorDescriptor.java (1 line): - line 57: // FIXME here's an assumption that implementation class has been generated in the same module as node core/generator/source/jetbrains/mps/generator/impl/plan/TemplateModelScanner.java (1 line): - line 103: // FIXME there are certain macros which templateNode we don't need to look at (e.g. COPY-SRC) plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/state/PausedJavaUiState.java (1 line): - line 81: // TODO this is a hack to filter out system threads languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/IYetUnresolved__BehaviorDescriptor.java (1 line): - line 33: // FIXME remove this: it's here only to give idea-compiled solutions access to language classes languages/languageDesign/make/languages/facet/generator/source_gen/jetbrains/mps/make/facet/generator/template/main/QueriesGenerated.java (1 line): - line 231: // TODO genContext.get output FacetAspectDescriptorCons for model model; plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/IThisReceiverProvider__BehaviorDescriptor.java (1 line): - line 43: // TODO pass context from outside? inferring from here would fail scenarios in which one would search from a platform which isn't default plugins/mps-kotlin/languages/kotlin.smodel/generator/source_gen/jetbrains/mps/kotlin/smodel/generator/util/ConceptTypeContext.java (1 line): - line 31: // TODO check bounds otherwise? editor/editor-runtime/source/jetbrains/mps/nodeEditor/selection/SelectionInfoImpl.java (1 line): - line 125: // FIXME this usage of ReloadableModule has to be replaced with a mechanism like extension point or workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/logicalview/TopHierarchyProjectViewNode.java (1 line): - line 305: // FIXME I know I'm not supposed to use TransientSModelDescriptor directly, rather extapi.TransientSModel core/smodel/source/jetbrains/mps/smodel/loading/ModelLoadingState.java (1 line): - line 20: // FIXME need another state here, aka HEADER, to tell 'tried to load but failed due to persistence issues' from 'didn't even tried to read a model' languages/baseLanguage/collections/source_gen/jetbrains/mps/baseLanguage/collections/intentions/IterateOverSequence_Intention.java (1 line): - line 79: // TODO replace with isSubtype() when MPS-10610 is fixed core/generator/source/jetbrains/mps/generator/ModelGenerationPlan.java (1 line): - line 97: // FIXME I'm not sure I shall keep this method at all. Is it describe(), merely to present GP to user? IdeaPlugin/mps-java/scopes/src/jetbrains/mps/idea/scopes/IdeaScopesUtils.java (1 line): - line 149: // TODO: comment it when scopes supports inner classes core/kernel/source/jetbrains/mps/extapi/persistence/FileSystemBasedDataSource.java (1 line): - line 30: * TODO I would rather have a single implementor of this, model factory is the point of polymorphism why location is also core/typesystemEngine/source/jetbrains/mps/newTypesystem/state/Inequalities.java (1 line): - line 311: // TODO: update the incremental maps on equation/inequation removal plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcspersistence/VCSPersistenceSupport.java (1 line): - line 116: // FIXME remove this after removing usages of VCSPersistenceSupport from everywhere except VCSPersistenceUtil core/tool/environment/source_gen/jetbrains/mps/core/tool/environment/util/FileMPSProject.java (1 line): - line 53: // FIXME log or report otherwise plugins/mps-java/core/modules/jetbrains.mps.java.core/source_gen/jetbrains/mps/java/core/sourceStubs/JavaSourceStubModelDescriptor.java (1 line): - line 89: // FIXME it works, but is not incremental and is ugly plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/editor/ReturnType_Remove.java (1 line): - line 29: // TODO merge into child and select proper cell plugins/mps-devkit/source/jetbrains/mps/ide/devkit/editorMenuTrace/EditorMenuTraceTree.java (1 line): - line 102: // TODO: update navigation logic to avoid this copy/paste plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/platform/mergedriver/MergeDriverPacker.java (1 line): - line 95: // FIXME MergeDriverMain needs MPS up to Platform.PERSISTENCE level. I don't like hardcoded list of jars here, IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/ui/ModelOrNodeChooser.java (1 line): - line 176: // TODO this gives some unneeded items (like src_gen when src is source root) plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/editor/StringLiteral_InsertLineRatherThanPart.java (1 line): - line 25: // TODO taken from BuildStringNotEmpty, simplify? editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/collections/UnmodifiableIterator.java (1 line): - line 21: * TODO: move to org.jetbrains.mps.util ? core/typechecking/source/jetbrains/mps/typechecking/backend/TypecheckingProvider.java (1 line): - line 71: // FIXME only for backward compatibility core/openapi/source/org/jetbrains/mps/openapi/model/SModel.java (1 line): - line 68: * TODO: fix remove SModule! languages/languageDesign/migration/solutions/runtime/source_gen/jetbrains/mps/lang/migration/runtime/base/RefactoringScriptReference.java (1 line): - line 86: // FIXME once the only use in RefactoringScriptCollector, don't need read action here plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/PropertyDeclaration__BehaviorDescriptor.java (1 line): - line 145: // TODO field depends on the usage of the field variable in the setter / getter (overridden + no usage of field => no field) core/generator/source/jetbrains/mps/generator/impl/query/QueryKeyImpl.java (1 line): - line 35: * FIXME equals/hashCode and not exposure of internal structure in generated templates! core/aspects/behavior/behavior-runtime/source/jetbrains/mps/core/aspects/behaviour/SMethodImpl.java (1 line): - line 301: // FIXME remove -- do everything by id where we need it plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/scopes/signed/TypeExtensionsScope.java (1 line): - line 62: // TODO check for elements if true, this is not enough to check for signature hiding plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/util/MPSModulesPartitioner.java (1 line): - line 94: // FIXME exclusion of generator modules here is due to the fact ModuleMiner (which eventually takes whatever we specify in ) core/make-runtime/solutions/jetbrains.mps.make.runtime/source_gen/jetbrains/mps/make/script/IScriptController.java (1 line): - line 65: // FIXME identical to AbstractMakeService.DefaultMonitor, but can't re-use here due to dependency direction. Refactor core/kernel/source/jetbrains/mps/extapi/module/SRepositoryEventsDispatcher.java (1 line): - line 84: // TODO : there is a need to introduce some kind of priority for SRepositoryListener. core/kernel/source/jetbrains/mps/smodel/language/BaseExtensionRegistry.java (1 line): - line 59: // TODO check for eventual stuck extensions plugins/mps-vcs/languages/mergehints/generator/source_gen/main/QueriesGenerated.java (1 line): - line 83: // TODO genContext.get output VCSDescriptorCons for model model; editor/editor-runtime/source_gen/jetbrains/mps/editor/runtime/LanguageEditorChecker.java (1 line): - line 122: // FIXME assuming it's safe to access legacy session plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/container/GeneratorUtil.java (1 line): - line 54: // FIXME revisit, likely CLM.getClassLoader could live w/o model read workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/ide/platform/watching/WatchedRoots.java (1 line): - line 87: // TODO: remove when sure that can not be called after FS dispose IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/facet/ui/MPSFacetSourcesTab.java (1 line): - line 120: // FIXME shall deal with ModelRootDescriptor here IdeaPlugin/mps-java/scopes/src/jetbrains/mps/idea/scopes/CheckScopesAction.java (1 line): - line 154: // TODO: checking by simple name now, use fqName! plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/wizard/MigrationSession.java (1 line): - line 97: // FIXME init once per session editor/editor-runtime/source/jetbrains/mps/lang/editor/menus/transformation/DefaultTransformationMenuLookup.java (1 line): - line 70: // TODO: when can it happen that usedLanguages does not contain myConcept.getLanguage()? Explain. editor/actions-runtime/source/jetbrains/mps/smodel/action/SPropertySubstituteAction.java (1 line): - line 73: // put caret at the end of text, TODO use editorContext.select(getSourceNode(), myPropertyName, -1 /* end */); core/kernel/source/jetbrains/mps/smodel/SModelReference.java (1 line): - line 36: // FIXME move to [smodel] once dependencies from MPSModuleRepository and SModelRepository are gone core/kernel/source/jetbrains/mps/smodel/ModelsEventsCollector.java (1 line): - line 171: assert false : "FIXME implement visitor for DependencyChange"; IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/usages/MPSReferenceSearch.java (1 line): - line 177: // TODO argument types must be handled like they are in ASMNodeId (via asm classes) plugins/mps-modelchecker/solution/source_gen/jetbrains/mps/ide/modelchecker/ProperGenPlanChecker.java (1 line): - line 46: // FIXME this is workaround for MPS-32687 - our GP for descriptor model does not indeed cover all required core/kernel/source/jetbrains/mps/classloading/ModuleClassLoaderSupport.java (1 line): - line 94: // FIXME Do I still need Supplier here? Can't I pass list of CLs right away? Is comment above ^^^ still valid? Perhaps, shall stick to core/kernel/source/jetbrains/mps/smodel/ModelAccess.java (1 line): - line 204: // FIXME I wonder if we shall filter isActive (or make it part of isReadInProgressCurrentThread) core/make-runtime/solutions/jetbrains.mps.make.runtime/source_gen/jetbrains/mps/make/facet/FacetRegistry.java (1 line): - line 64: * FIXME I wonder if we can register IFacet.Name instead (with ModuleRuntime/LanguageRuntime or identity thereof) plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/settings/ModuleChooser.java (1 line): - line 48: // FIXME unfortunately, FindUsagesFacade is not CoreComponent, therefore have to use FindUsagesManager core/kernel/source/jetbrains/mps/smodel/SNodeImplAccess.java (1 line): - line 49: final boolean currentIsTarget = target.equals(current.getReference()); // likely, always true, based on 2 usages. FIXME check core/generator/source/jetbrains/mps/generator/impl/reference/ReferenceInfo.java (1 line): - line 72: // FIXME investigate scenario when target is detached node and target.getReference() doesn't yield anything core/aspects/constraints/constraints-runtime/source/jetbrains/mps/smodel/runtime/ConstraintFunctions.java (1 line): - line 59: * TODO While a scope conjunction not implemented, it returns first not-null result of supplied constraint functions plugins/mps-java/platform/modules/jetbrains.mps.java.platform/source_gen/jetbrains/mps/java/platform/highlighters/OverrideMethodsChecker.java (1 line): - line 209: // TODO rewrite without read action, see doc of EditorChecker#processEvents workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/ide/icons/BaseIconManager.java (1 line): - line 64: // FIXME how do we react to UI switch? Could I listen to anything? core/generator/source/jetbrains/mps/generator/impl/interpreted/TemplateMappingConfigurationInterpreted.java (1 line): - line 156: // FIXME technically, this catch shall be inside DefaultQueryExecutionContext, where all such catch are kept. But there's no corresponding method in DQEC plugins/execution-configurations/junit/launcher/source_gen/jetbrains/mps/baselanguage/unitTest/execution/launcher/ExecutorScript.java (1 line): - line 96: * FIXME replace with generic j.m.tool.common.TestData plugins/mps-memtool/source/jetbrains/mps/ide/memtool/LoadedModelsPanel.java (1 line): - line 179: // FIXME tell project models/modules from deployed modules/models languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/check_UnqualifiedEnumConstUnderSwitch_NonTypesystemRule.java (1 line): - line 34: // FIXME: almost duplicate code with MultipleFilesParser languages/languageDesign/typesystem/generator/source_gen/jetbrains/mps/lang/typesystem/generator/baseLanguage/template/main/QueriesGenerated.java (1 line): - line 981: // TODO genContext.get output TypesystemDescriptorCons for model model; plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/api/members/SignatureCollector.java (1 line): - line 71: // TODO clear suppress? plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/changes/SetReferenceChange.java (1 line): - line 133: // TODO consider dynamic references editor/editor-runtime/source/jetbrains/mps/nodeEditor/selection/EditorCellSelection.java (1 line): - line 51: // TODO: think about better way to restore relevant selection in case of deleted cell (EditorManager.EditorCell_STHint) core/make-runtime/solutions/jetbrains.mps.make.runtime/source_gen/jetbrains/mps/internal/make/runtime/util/FilesDelta.java (1 line): - line 87: // FIXME this functionality is never actually used core/project/source/jetbrains/mps/project/ProjectModuleLoadingListener.java (1 line): - line 26: * FIXME need to document whether the module is attached/detached the moment event is dispatched workbench/mps-platform/jetbrains.mps.ide.platform/source_gen/jetbrains/mps/project/modules/DevkitProducer.java (1 line): - line 25: // FIXME file.exists error reporting workbench/mps-refactoring/j.m.refactoring/source_gen/jetbrains/mps/refactoring/participant/RefactoringUI.java (1 line): - line 13: * FIXME Quite suspicious API - the only client is RefactoringProcessor, although we pass this class core/project/source/jetbrains/mps/project/dependency/GlobalModuleDependenciesManager.java (1 line): - line 160: // FIXME shall we drop this method, it's not invoked from anywhere IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/projectView/MPSPsiElementTreeNode.java (1 line): - line 84: //TODO: implement getVirtualFile()? core/project-check/source/jetbrains/mps/project/validation/StructureChecker.java (1 line): - line 168: // FIXME quite suspicious code, I think it's enough to report dependency errors from CLM plugins/mps-migration/solutions/migration.workbench/source_gen/jetbrains/mps/migration/workbench/plugin/ExecuteRerunnableMigrations_Action.java (1 line): - line 73: // FIXME check if command is truly necessary (can I undo this execution of migrations?). Even if command isn't necessary, editor/editor-runtime/source/jetbrains/mps/nodeEditor/cells/EditorCell_Collection.java (1 line): - line 397: // TODO: either return getEditorCells() or use getVisibleChildCells() in all other content-related methods core/kernel/source/jetbrains/mps/classloading/MPSClassLoadersRegistry.java (1 line): - line 156: // TODO would be great to send out events only for modules with non-empty CL, i.e. to avoid workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/ProjectPaneActionGroups.java (1 line): - line 91: // FIXME hardcoded action ID workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/ModelPropertiesConfigurable.java (1 line): - line 620: // FIXME we shall do with DevKit as SModule smth anyway (i.e. to match SLanguage), that's why MPSModuleRepository here languages/languageDesign/smodel/source_gen/jetbrains/mps/lang/smodel/scripts/NodePointerMigrations.java (1 line): - line 66: // FIXME Error suppressed. Fix typing rules for `reference< >` operation. See MPS-27616 core/generator/source/jetbrains/mps/generator/impl/LMCollector.java (1 line): - line 112: // FIXME provisional, need to review access methods. plugins/mps-devkit/languages/pluginSolutions/lang.migration/source_gen/jetbrains/mps/lang/migration/pluginSolution/plugin/LogBuilder.java (1 line): - line 71: // FIXME pretty much the same code in LanguageStructureMigrationParticipant core/persistence/source/jetbrains/mps/persistence/binary/NodesReader.java (1 line): - line 74: // TODO report if (nodeInfo != 0 && myEnv != null) .. myEnv.nodeRoleRead/conceptRead(); workbench/mps-platform/source/jetbrains/mps/ide/vfs/BaseIdeaFileSystem.java (1 line): - line 48: // FIXME do I need this one for IFileSystem API at all (i.e. not only for "umbrella" IdeaFileSystem)? What are the uses? plugins/mps-vcs/solutions/jetbrains.mps.ide.vcs/source_gen/jetbrains/mps/vcs/plugin/IgnoreModuleInVcs_Action.java (1 line): - line 66: // TODO: investigate and remove core/vfs/source/jetbrains/mps/vfs/IFile.java (1 line): - line 275: * FIXME document what happens if one deletes non-empty folder. IoFile seems to force deletion. Is it the contract? languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/behavior/ClassCreator__BehaviorDescriptor.java (1 line): - line 89: // FIXME MPS dark arts, what a magic around constructor id! workbench/mps-platform/source/jetbrains/mps/workbench/goTo/matcher/MPSNodeItemProvider.java (1 line): - line 129: //TODO: use FindSymbolParameters.wrap(namePattern, ???, everywhere) editor/editor-runtime/source/jetbrains/mps/nodeEditor/cellLayout/CellLayout_Table.java (1 line): - line 210: // TODO: looks like we don't need it here for "inner" table cells (rows/columns) core/typesystemEngine/source_gen/jetbrains/mps/typesystemEngine/checker/NonTypesystemChecker.java (1 line): - line 38: // FIXME assuming it's safe to access the underlying legacy provider core/persistence/source/jetbrains/mps/persistence/ModelDigestHelper.java (1 line): - line 76: // FIXME Here we consult ModelDigestHelper, though eventually shall workbench/mps-platform/source/jetbrains/mps/ide/actions/SNodeActionData.java (1 line): - line 45: // FIXME this ^^ effectively means one can't use nodes() for single selection (e.g. if processing code core/generator/source/jetbrains/mps/generator/impl/NodeMapRecord.java (1 line): - line 58: // FIXME this code mimics logic that used to be in GM.addOutputNodeByInputNodeAndMappingName. plugins/mps-kotlin/languages/baseLanguage.kotlinRefs/source_gen/jetbrains/mps/baseLanguage/kotlinRefs/editor/IKotlinFunctionCall_AddFirstArgument.java (1 line): - line 99: // TODO implement for kotlin methods? editor/editor-runtime/source/jetbrains/mps/nodeEditor/NodeHighlightManager.java (1 line): - line 50: // TODO: replace myMessagesLock usages with this ? core/generator/source/jetbrains/mps/generator/impl/interpreted/TemplateMappingScriptInterpreted.java (1 line): - line 42: myMissingCodeBlock = null == RuleUtil.getMappingScript_CodeBlock(scriptNode); // FIXME shall pass log (and QueryProvider factory) here from outside plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/client/TestRunState.java (1 line): - line 77: // FIXME revisit myTestMethodsLeftToRun (do we need to keep track of these, when myConverter does anyway?) core/generator/source/jetbrains/mps/generator/plan/ForkCondition.java (1 line): - line 15: // FIXME decide what about multi-thread access workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/actions/ShowParameters_Action.java (1 line): - line 123: // TODO: make IDEA like plugins/execution-configurations/plugin/source_gen/jetbrains/mps/execution/configurations/implementation/plugin/plugin/DeployScriptCreator.java (1 line): - line 30: // FIXME figure out what's expected format of internalBaseDirectory (absolute/relative, separators) languages/languageDesign/smodel/source_gen/jetbrains/mps/lang/smodel/intentions/ReplaceWithResolveExpr_Intention.java (1 line): - line 71: // FIXME need an operation to set link target using nodePointer core/generator/source/jetbrains/mps/generator/impl/query/ReferenceTargetQuery.java (1 line): - line 42: // TODO expose in API and utilize in TemplateNode editor/editor-runtime/source/jetbrains/mps/nodeEditor/Highlighter.java (1 line): - line 458: * FIXME In fact, there's no true need to perform isGoodTimeToUpdate from an EDT thread. workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/make/TextPreviewFile.java (1 line): - line 40: // FIXME what's in modelName, do we really care to prepend it to file name? IdeaPlugin/mps-java/source_gen/jetbrains/mps/idea/java/psiStubs/PsiJavaStubDataSource.java (1 line): - line 145: // FIXME the case when a java file was renamed to a non-java file is not handled plugins/execution-configurations/junit/source_gen/jetbrains/mps/baseLanguage/unitTest/execution/client/String2NodeTestKeyConverter.java (1 line): - line 28: * FIXME This is not a singleton despite being marked as such. core/generator/source/jetbrains/mps/generator/runtime/NodePostProcessor.java (1 line): - line 49: * FIXME forcing NotNull seems not the best decision here, as it's generated code and may yield null return value, and it would be nice to handle it editor/intentions-runtime/source/jetbrains/mps/intentions/IntentionsManager.java (1 line): - line 89: // FIXME invoking runWithSession is unnecessary here b/c the only client takes care of that already core/tool/builder/source_gen/jetbrains/mps/tool/builder/paths/ModuleOutputPaths.java (1 line): - line 24: // FIXME consider re-use of SModuleOperations#getOutputRoots, avoid code duplication core/project/source/jetbrains/mps/project/ModelsAutoImportsManager.java (1 line): - line 44: // FIXME uses suggest SModuleReference is enough, why do I keep SModel here?! core/tool/ant/source_gen/jetbrains/mps/build/ant/MPSClasspathUtil.java (1 line): - line 32: // FIXME why all this hard-coded knowledge, when we can declare a and plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/wizard/MigrationStep.java (1 line): - line 66: // FIXME I can not do it earlier as both cons and doCreateComponent are invoked without any UI shown, workbench/mps-platform/source/jetbrains/mps/ide/tools/BaseTabbedProjectTool.java (1 line): - line 168: // FIXME methods declared inside node instance don't see protected plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/NodeChangesBuilder.java (1 line): - line 17: * FIXME get back to this code and figure out what's the difference between BasicNodeCHangesBuilder and StructChangeSetBuilder???!? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/VariableDeclaration__BehaviorDescriptor.java (1 line): - line 44: // TODO other cases? editor/editor-runtime/source/jetbrains/mps/lang/editor/generator/internal/AbstractCellMenuPart_PropertyPostfixHints.java (1 line): - line 205: // put caret at the end of text, TODO use editorContext.select(getSourceNode(), myPropertyName, -1 /* end */); languages/languageDesign/editor.menus.extras/runtime/source_gen/jetbrains/mps/lang/editor/menus/extras/runtime/RefactoringMenuPartBase.java (1 line): - line 28: // FIXME don't know what would be proper way to access Project here. plugins/mps-devkit/languages/mpsdevkit/source_gen/jetbrains/mps/ide/devkit/actions/FindUnusedAndDeprecatedConcepts_Action.java (1 line): - line 128: // FIXME why it's not a dedicated IFinder that takes AbstractConceptDeclaration instances as search query and nodes/models as scope? core/generator/source/jetbrains/mps/generator/InterpretedPlanProvider.java (1 line): - line 90: // FIXME in fact, shall respect additional languages passed through GenerationParametersProviderEx.getAdditionalLanguages(SModel), like core/kernel/source/jetbrains/mps/generator/fileGenerator/FileGenerationUtil.java (1 line): - line 31: * TODO remove once 3.5 is out as replacement API, {@link jetbrains.mps.project.facets.GenerationTargetFacet}, has been introduced in 3.5 and there's no core/aspects/constraints/constraints-runtime/source/jetbrains/mps/core/aspects/constraints/rules/kinds/CanBeAncestorContext.java (1 line): - line 33: /*TODO @NotNull*/ private final SContainmentLink myLink; core/textgen/source/jetbrains/mps/text/impl/ErrorCollector.java (1 line): - line 29: * FIXME Just a copy of relevant methods from TextGenBuffer, waits for refactoring plugins/mps-kotlin/languages/kotlin.javaRefs/source_gen/jetbrains/mps/kotlin/javaRefs/behavior/JavaMethodVariableReference__BehaviorDescriptor.java (1 line): - line 86: // TODO find assigned node in a cleaner way? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/CopyFunctionCall__BehaviorDescriptor.java (1 line): - line 58: // TODO use KotlinScopes? core/project/source/jetbrains/mps/project/structure/LanguageDescriptorModelProvider.java (1 line): - line 77: // FIXME bad approach, needs to know about SModuleExt. workbench/mps-workbench/source/jetbrains/mps/ide/ui/smodel/ReferenceTreeNode.java (1 line): - line 43: // TODO: reference to generated code. Extract some interface for icons to source code. workbench/mps-workbench/source/jetbrains/mps/EditorTextFieldProviderImpl.java (1 line): - line 88: TODO: 223FIX Check that this is still needed plugins/mps-devkit/languages/editor/source_gen/jetbrains/mps/ide/devkit/editor/Constraints_TabDescriptor.java (1 line): - line 90: // FIXME can't use 'am.new initialized root' as it takes direct concept reference only core/generator/source/jetbrains/mps/generator/impl/DelayedChanges.java (1 line): - line 43: // FIXME unlike old code, we mark as temp nodes with post-processing only. Likely, shall get rid of this temp notion altogether, core/kernel/kernelSolution/source_gen/jetbrains/mps/checkers/UsedLanguagesChecker.java (1 line): - line 46: // FIXME pass LR/ComponentHost at checker construction time! plugins/mps-vcs/vcs-platform/solutions/jetbrains.mps.ide.vcs.platform/source_gen/jetbrains/mps/vcs/changesmanager/CurrentDifferenceRegistry.java (1 line): - line 198: // FIXME now that each CurrentDifference/ChangeTracking got own model listener, perhaps, can utilize them? Just need to address ChangesTracking#doTracking trick. plugins/mps-build/languages/build.workflow/source_gen/jetbrains/mps/build/workflow/behavior/BwfProject__BehaviorDescriptor.java (1 line): - line 36: // TODO search in libraries IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/refactoring/UpdatePsiReferencesMoveParticipant.java (1 line): - line 68: // TODO remove this once/if we map smodel events to psi events synchronously workbench/mps-workbench/source/jetbrains/mps/ide/projectPane/ProjectPaneTreeStructure.java (1 line): - line 58: // FIXME provide sensible defaults or fail on cast core/vfs/source/jetbrains/mps/vfs/package-info.java (1 line): - line 69: * TODO: VFS and persistable paths. Should use macroses to be persisted editor/editor-api/source/jetbrains/mps/openapi/editor/cells/CellActionType.java (1 line): - line 28: // TODO: DELETE_TO_WORD_START, editor/editor-runtime/source/jetbrains/mps/nodeEditor/HintPopupController.java (1 line): - line 76: // FIXME magic constant 300? 600? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/Precedence.java (1 line): - line 36: * TODO clean that and move asNumber into int unless implemented otherwise plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/evaluation/EvaluationUtilsImpl.java (1 line): - line 88: // TODO duplication in code core/kernel/source/jetbrains/mps/textgen/trace/TracingUtil.java (1 line): - line 65: // FIXME warn deprecation once mbeddr templates using this method get fixed workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/actions/CloneModule_Action.java (1 line): - line 134: // FIXME it's not quite good to take module name from cfg but module file from check operation, need an uniform approach editor/editor-runtime/source/jetbrains/mps/nodeEditor/ChildrenCollectionFinder.java (1 line): - line 62: // TODO remove IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/facet/ui/GenSrcPathValidator.java (1 line): - line 56: // TODO: HACK! We expect the ModuleProjectStructureElement to be visited before the FacetProjectStructureElement core/generator/source/jetbrains/mps/generator/impl/query/QueryProviderBase.java (1 line): - line 318: // FIXME getTemplateNode is not necessarily macro node, but we don't need this method anyway, and will remove it soon. editor/editor-runtime/source/jetbrains/mps/nodeEditor/selection/EditorCellLabelSelection.java (1 line): - line 203: // TODO: review this logic - it was originally copied from EditorComponentKeyboardHandler IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/psi/impl/MPSPsiRef.java (1 line): - line 73: // TODO dynamic ref core/kernel/kernelSolution/source_gen/jetbrains/mps/smodel/search/ConceptAndSuperConceptsScope.java (1 line): - line 68: // FIXME why do we collect *all* children, including InterfaceConceptReference of implements/extends, ACD.helpURL and CD.icon? core/util/source/jetbrains/mps/util/ModelComputeRunnable.java (1 line): - line 29: * FIXME {@link jetbrains.mps.smodel.ModelAccessHelper} - "There can be only one", you know. core/persistence/source_gen/jetbrains/mps/smodel/persistence/def/v9/ModelReader9Handler.java (1 line): - line 440: // FIXME this is transition code to support pre-MPS 3.4 engaged languages as SModuleReference languages/languageDesign/editor/source_gen/jetbrains/mps/lang/editor/behavior/ConceptFunctionParameter_editorContext__BehaviorDescriptor.java (1 line): - line 35: // TODO: remove conceptFunction != null check. It is here only for the compatibility with mbeddr generator languages/languageDesign/editor/source_gen/jetbrains/mps/lang/editor/editor/ContextHintsSpecification_SubstituteMenu.java (1 line): - line 57: // TODO: Use link scopes here workbench/mps-platform/source/jetbrains/mps/ide/save/SaveRepositoryCommand.java (1 line): - line 52: // FIXME need to decide about the contract, whether it respects make session and whether it waits for save to complete (perhaps, optionally?) languages/languageDesign/generator/languages/templateLanguage/source_gen/jetbrains/mps/lang/generator/typesystem/check_InlineTemplateWithContext_RuleConsequence_NonTypesystemRule.java (1 line): - line 25: // FIXME there's identical code in check_TemplateDeclaration IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/usages/MPSMethodReferencesSearch.java (1 line): - line 85: // TODO find usages of EnumValuesExpression and EnumValueOfExpression core/generator/source/jetbrains/mps/generator/runtime/TemplateRuleWithCondition.java (1 line): - line 27: * FIXME shall throw GenerationFailureException (neither Dismiss/Abandon nor Cancel could not get thrown from within) but has to workbench/mps-platform/source/jetbrains/mps/workbench/choose/NavigationTargetPresentation.java (1 line): - line 28: * TODO may not be needed of NavigationTargetPresentationWithIconForNode prooves to be performant enough, otherwise use this class instead. editor/editor-runtime/source/jetbrains/mps/nodeEditor/keymaps/AWTKeymapHandler.java (1 line): - line 148: return keyCodes; //TODO why?! plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/ChangeSetBuilder.java (1 line): - line 62: // FIXME this is to deal with MPS-35421 in a limited yet controlled/documented way. languages/languageDesign/refactoring/generator/source_gen/jetbrains/mps/lang/refactoring/generator/baseLanguage/template/main/QueriesGenerated.java (1 line): - line 156: // TODO genContext.get output RefactoringAspectDescriptor for model model; plugins/mps-devkit/source/jetbrains/mps/ide/devkit/generator/GenerationTracerViewToolState.java (1 line): - line 84: // FIXME not quite nice code languages/languageDesign/intentions/generator/source_gen/jetbrains/mps/lang/intentions/generator/baseLanguage/template/main/QueriesGenerated.java (1 line): - line 181: // TODO genContext.get output IntentionsDescriptorCons for model model; workbench/mps-ui/source/jetbrains/mps/ide/ui/tree/module/SModelsSubtree.java (1 line): - line 211: // FIXME Perhaps, shall introduce interface NamespaceNode, which either gives a string or is capable to tell text for a given child workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/hierarchy/ChildHierarchyTreeNode.java (1 line): - line 42: // FIXME we still use cached SNode instance here, as tree node's user object languages/languageDesign/editor/source_gen/jetbrains/mps/lang/editor/typesystem/check_ConceptEditorDeclaration_concextHintUniqueness_NonTypesystemRule.java (1 line): - line 67: // TODO: check extending languages as well plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/FunctionTypeInvokeDeclaration.java (1 line): - line 25: * TODO keep this or remove the need for actual named parameter in IFunctionDeclaration? core/persistence/source/jetbrains/mps/smodel/persistence/def/FilePerRootFormatUtil.java (1 line): - line 158: // FIXME shall use PersistenceVersionAware and openapi.SModel, not smodel.SModel impl here jps/jps-plugin/src/jetbrains/mps/jps/build/MPSMakeFilesAfterProcessor.java (1 line): - line 135: // FIXME: FileSystemBasedDataSource#getAffectedFiles() needs to be rewritten in a way, where it gives no directories only files plugins/mps-samples/sources/jetbrains/mps/build/SamplesExtractor.java (1 line): - line 118: // TODO: replace ApplicationInfo#getMinorVersionMainPart with ApplicationInfo#getMinorVersion when MPS will use micro version tag workbench/mps-workbench/source/jetbrains/mps/plugins/applicationplugins/BaseApplicationPlugin.java (1 line): - line 56: // FIXME the only place we use (and abuse) PluginId is MPSAction.unregisterActions(), where we pass plugins/mps-build/languages/build/source_gen/jetbrains/mps/build/util/JavaExportUtil.java (1 line): - line 146: // FIXME there's little value in contextNode, perhaps, shall leave the check to outer code (in case it cares at all) IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/index/SNodeDescriptorsDataExternalizer.java (1 line): - line 36: * FIXME SNodeDescriptor is not a proper object to keep in index, shall come up with dedicated structure to keep plugins/mps-vcs/vcs-core/modules/jetbrains.mps.ide.vcs.core/source_gen/jetbrains/mps/vcs/diff/StructChangeSetBuilder.java (1 line): - line 272: // FIXME shall get configured from outside, see ChangeSetBuilder core/kernel/source/jetbrains/mps/smodel/NodeIdentityComponent.java (1 line): - line 99: // FIXME I wonder if some marker interface for concepts could be of any use, or just plain explicit list in implementation would be enough plugins/mps-migration/solutions/migration.workbench/source_gen/jetbrains/mps/migration/workbench/plugin/RunMigration.java (1 line): - line 79: // FIXME similar code in MigrationModuleUtil, do I care to keep a copy? IdeaPlugin/mps-java/src/jetbrains/mps/idea/java/psi/impl/MPSPsiClassifier.java (1 line): - line 95: // TODO @Deprecated annotation? plugins/mps-migration/migration-platform/solutions/component/source_gen/jetbrains/mps/ide/migration/MigrationTrigger.java (1 line): - line 239: // FIXME isMigrationForbidden here implies BlockCause is about non-deployed languages, why, oh, why?! plugins/debugger-java/runtime/source_gen/jetbrains/mps/debugger/java/runtime/state/DebugSession.java (1 line): - line 164: // TODO hack plugins/execution-configurations/plugin/source_gen/jetbrains/mps/execution/configurations/implementation/plugin/plugin/Mps_Command.java (1 line): - line 84: // FIXME StartupUtil does not accessible during build, reuse it once possible core/persistence/source/jetbrains/mps/persistence/DefaultModelPersistence.java (1 line): - line 92: // FIXME refactor single use in tests languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/findUsages/DerivedMethods_Finder.java (1 line): - line 51: // FIXME Can we move this finder out of BL to facilitate explicit Project knowledge? core/vfs/source/jetbrains/mps/vfs/IFileSystem.java (1 line): - line 68: * FIXME why not IFile.isIgnored()? Why shall I care what does 'name' here mean? core/generator/source/jetbrains/mps/generator/template/QueryExecutionContext.java (1 line): - line 41: * FIXME get rid of inputNode and TEE where templateContext is available editor/editor-runtime/source_gen/jetbrains/mps/editor/runtime/EditorUtil.java (1 line): - line 181: // FIXME why do we go from VF to IFile to perform a copy (used in image selection context), while we can stick to VF? plugins/mps-build/languages/build.mps/source_gen/jetbrains/mps/build/mps/behavior/BuildMPSPlugin__BehaviorDescriptor.java (1 line): - line 75: // FIXME consider JavaExternalLibraryHelper re-use languages/languageDesign/jetbrains.mps.lang.editor.imageGen/source_gen/jetbrains/mps/lang/editor/imageGen/plugin/GenerateImages_Facet.java (1 line): - line 96: // TODO: check status & outputPath... see TextGen facet plugins/execution-configurations/plugin/source_gen/jetbrains/mps/execution/configurations/implementation/plugin/plugin/DeployScript.java (1 line): - line 125: // FIXME I wonder if JMF is what we need here, not some PlainTextTargetFacet. editor/editor-runtime/source/jetbrains/mps/lang/editor/cellProviders/PropertyCellProvider.java (1 line): - line 72: //TODO make extensible workbench/mps-workbench/source/jetbrains/mps/plugins/applicationplugins/ApplicationPluginManager.java (1 line): - line 39: * FIXME Besides, register/unregister() shall become external operations, rather than shared behavior of superclass plugins/mps-make/source_gen/jetbrains/mps/ide/make/actions/MakeActionImpl.java (1 line): - line 61: // FIXME https://youtrack.jetbrains.com/issue/MPS-24020. Proper fix is to split model check into read, and results reporting into EDT. workbench/mps-workbench/jetbrains.mps.ide/source_gen/jetbrains/mps/ide/actions/InstallSettings_AppPluginPart.java (1 line): - line 23: // FIXME at the moment, MPSCore doesn't expose VS as CC, but could/should, like GenerationSettingsProvider, below. languages/baseLanguage/baseLanguage/source_gen/jetbrains/mps/baseLanguage/typesystem/typeof_AnonymousClass_InferenceRule.java (1 line): - line 67: // TODO: this is to avoid collecting generics from explicitly substituted types plugins/execution-configurations/java.cmd/source_gen/jetbrains/mps/baseLanguage/execution/api/Java_Command.java (1 line): - line 223: // FIXME KEPT THIS METHOD FOR FUTURE CONSIDERATION, see classPath comment above regarding cmdline length core/kernel/kernelSolution/source_gen/jetbrains/mps/kernel/model/SModelUtil.java (1 line): - line 58: // FIXME seems that can replace uses of this deprecated utility class with not yet deprecated SConceptOperations core/generator/source/jetbrains/mps/generator/runtime/TemplateModuleInterpreted2.java (1 line): - line 65: // FIXME need to deal with scenario when template models change (distinct from scenario when set of models change, which is important, too) workbench/mps-ui/source_gen/jetbrains/mps/ide/ui/finders/ModuleUsagesFinder.java (1 line): - line 206: // FIXME nice candidate to move into SModule (along with findDependencies(SDependencyKind) workbench/mps-workbench/source/jetbrains/mps/ide/editor/tabs/FileStatusChangeListener.java (1 line): - line 56: // TODO: Verify correct Disposable used plugins/debugger-api/runtime/source_gen/jetbrains/mps/debugger/api/ui/breakpoints/BreakpointsBrowserDialog.java (1 line): - line 308: // TODO can't we ask this from kind?? plugins/mps-ide/modules/tools.todo/source_gen/jetbrains/mps/ide/tools/todo/TodoFinder.java (1 line): - line 36: results.add(new SearchResult(gc, "TODO items")); core/tool/environment/source_gen/jetbrains/mps/core/tool/environment/util/LogInitializer.java (1 line): - line 41: * FIXME perhaps, shall use {@code java -Djava.util.logging.config.class} or {@code java -Djava.util.logging.config.file} IdeaPlugin/mps-core/src/jetbrains/mps/idea/core/project/stubs/JavaStubPsiListener.java (1 line): - line 86: // TODO currently only a dumb stub workbench/mps-ui/source/jetbrains/mps/ide/ui/dialogs/properties/input/ModuleCollector.java (1 line): - line 33: // TODO make it CancellableReadAction! core/generator/source/jetbrains/mps/generator/impl/FastRuleFinder.java (1 line): - line 104: // can be modified by several threads FIXME we can block rules on a per-root (i.e. per thread) basis, so no synchronization is really needed here plugins/mps-rcp/modules/ide.refactoring/source_gen/jetbrains/mps/ide/refactoring/RefactoringViewItemImpl.java (1 line): - line 127: // TODO: why does it invokes later? plugins/mps-kotlin/languages/kotlin/source_gen/jetbrains/mps/kotlin/behavior/IndexOperation__BehaviorDescriptor.java (1 line): - line 49: // TODO find assigned node in a cleaner way? core/persistence/source/jetbrains/mps/persistence/LazyLoadFacility.java (1 line): - line 69: // FIXME refactor DataSource to answer hash()/digest() queries itself (and move this code back to generatable model impl)