ссылки xtext importURI не могут быть разрешены

Я разрабатываю DSL, который повторно использует типы, определенные в другом DSL. По сути, у меня есть два расширения файлов, скажем, .A и .B, некоторые объекты объявлены в .A, и мне нужно получить к ним доступ в .B. Я использую importURI, чтобы иметь доступ только к нужным мне ссылкам из домена .A.

Завершение кода работает отлично, оно дает мне сущности, которые объявлены в .A, но проблема в том, что я вижу сообщения об ошибках, говорящие о том, что ссылки не могут быть разрешены.

Я сделал то же самое, что было предложено в этом сообщении внешний файл xtext importURI, и вот мой фрагменты рабочего процесса:

         // Java API to access grammar elements (required by several other fragments)
            fragment = grammarAccess.GrammarAccessFragment auto-inject {}

            // generates Java API for the generated EPackages
            fragment = ecore.EMFGeneratorFragment auto-inject {}

            // the old serialization component
            // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}    

            // serializer 2.0
            fragment = serializer.SerializerFragment auto-inject {
                generateStub = false
            }

            // a custom ResourceFactory for use with EMF
            fragment = resourceFactory.ResourceFactoryFragment auto-inject {}

            // The antlr parser generator fragment.
            fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
            //  options = {
            //      backtrack = true
            //  }
            }

            // Xtend-based API for validation
            fragment = validation.ValidatorFragment auto-inject {
                composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
                composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
            }

            // old scoping and exporting API
            fragment = scoping.ImportURIScopingFragment auto-inject {}
            // fragment = exporting.SimpleNamesFragment auto-inject {}

            // scoping and exporting API
            fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
            fragment = exporting.QualifiedNamesFragment auto-inject {}
            //fragment = builder.BuilderIntegrationFragment auto-inject {}

            // generator API
            //fragment = generator.GeneratorFragment auto-inject {}

            // formatter API
            //fragment = formatting.FormatterFragment auto-inject {}

            // labeling API
            //fragment = labeling.LabelProviderFragment auto-inject {}

            // outline API
            //fragment = outline.OutlineTreeProviderFragment auto-inject {}
            //fragment = outline.QuickOutlineFragment auto-inject {}

            // quickfix API
            fragment = quickfix.QuickfixProviderFragment auto-inject {}

            // content assist API
            fragment = contentAssist.ContentAssistFragment auto-inject {}

            // generates a more lightweight Antlr parser and lexer tailored for content assist
            fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}

            // generates junit test support classes into Generator#pathTestProject
            //fragment = junit.Junit4Fragment auto-inject {}

            // rename refactoring
            //fragment = refactoring.RefactorElementNameFragment auto-inject {}

            // provides the necessary bindings for java types integration
            //fragment = types.TypesGeneratorFragment auto-inject {}

            // generates the required bindings only if the grammar inherits from Xbase
            //fragment = xbase.XbaseGeneratorFragment auto-inject {}

            // provides a preference page for template proposals
            //fragment = templates.CodetemplatesGeneratorFragment auto-inject {}

            // provides a compare view
            //fragment = compare.CompareFragment auto-inject {}

Спасибо


person user2711115    schedule 20.05.2014    source источник
comment
можете ли вы поделиться грамматикой и примерами моделей? и вы должны удалить фрагмент = область видимости.ImportNamespacesScopingFragment auto-inject {}   -  person Christian Dietrich    schedule 21.05.2014


Ответы (1)


Спасибо, Кристиан, все заработало, перегенерировав файл .mwe2 по умолчанию и прокомментировав эти два фрагмента.



    //generates the required bindings only if the grammar inherits from Xbase
    //fragment = xbase.XbaseGeneratorFragment auto-inject {}

    //provides a preference page for template proposals
    //fragment = templates.CodetemplatesGeneratorFragment auto-inject {}

person user2711115    schedule 23.05.2014