public IScope scope_Codetemplate_context(Codetemplate template, EReference reference) { Codetemplates root = EcoreUtil2.getContainerOfType(template, Codetemplates.class); if (root != null && root.getLanguage() != null) { Grammar grammar = root.getLanguage(); if (!grammar.eIsProxy()) { LinkedHashSet<AbstractRule> usedRules = Sets.newLinkedHashSet(); new UsedRulesFinder(usedRules).compute(grammar); return Scopes.scopeFor(Iterables.filter(usedRules, ParserRule.class)); } } return IScope.NULLSCOPE; }
public IScope scope_Codetemplates_language(Codetemplates templates, EReference reference) { if (TemplateResourceProvider.SYNTHETIC_SCHEME.equals(templates.eResource().getURI().scheme())) { ResourceSet resourceSet = templates.eResource().getResourceSet(); List<Grammar> grammars = Lists.newArrayListWithExpectedSize(1); for(Resource resource: resourceSet.getResources()) { EObject root = resource.getContents().get(0); if (root instanceof Grammar) { grammars.add((Grammar) root); } } return Scopes.scopeFor(grammars, new Function<Grammar, QualifiedName>() { public QualifiedName apply(Grammar from) { return qualifiedNameConverter.toQualifiedName(from.getName()); } }, IScope.NULLSCOPE); } else { return delegateGetScope(templates, reference); } } }
return; Codetemplates templates = (Codetemplates) resource.getContents().get(0); Grammar grammar = templates.getLanguage(); if (grammar != null && !grammar.eIsProxy()) { TemplateBodyHighlighter highlighter = getHighlighter(grammar); ContextTypeIdHelper helper = registry.getContextTypeIdHelper(grammar); ContextTypeRegistry contextTypeRegistry = registry.getContextTypeRegistry(grammar); for(Codetemplate template: templates.getTemplates()) { if (template.getBody() != null) { final EvaluatedTemplate evaluatedTemplate = new EvaluatedTemplate(template);
public IScope scope_Codetemplate_context(Codetemplate template, EReference reference) { Codetemplates root = EcoreUtil2.getContainerOfType(template, Codetemplates.class); if (root != null && root.getLanguage() != null) { Grammar grammar = root.getLanguage(); if (!grammar.eIsProxy()) { LinkedHashSet<AbstractRule> usedRules = Sets.newLinkedHashSet(); new UsedRulesFinder(usedRules).compute(grammar); return Scopes.scopeFor(Iterables.filter(usedRules, ParserRule.class)); } } return IScope.NULLSCOPE; }
protected TemplateData(EObject model) { template = EcoreUtil2.getContainerOfType(model, Codetemplate.class); if (template != null) { templates = EcoreUtil2.getContainerOfType(template, Codetemplates.class); language = templates.getLanguage(); rule = template.getContext(); } }
Codetemplates templates = EcoreUtil2.getContainerOfType(template, Codetemplates.class); if (templates != null && template != null) { Grammar language = templates.getLanguage(); AbstractRule rule = template.getContext(); ContextTypeIdHelper helper = languageRegistry.getContextTypeIdHelper(language);
@Override public void completeCodetemplate_KeywordContext(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { Codetemplate template = EcoreUtil2.getContainerOfType(model, Codetemplate.class); if (template != null) { Codetemplates templates = EcoreUtil2.getContainerOfType(template, Codetemplates.class); if (templates != null) { Grammar language = templates.getLanguage(); if (language != null && !language.eIsProxy()) { Set<String> keywords = GrammarUtil.getAllKeywords(language); for(String keyword: keywords) { String proposalText = keyword; proposalText = getValueConverter().toString(proposalText, ((RuleCall)assignment.getTerminal()).getRule().getName()); StyledString displayText = new StyledString(proposalText).append(" - Keyword", StyledString.QUALIFIER_STYLER); ICompletionProposal proposal = createCompletionProposal(proposalText, displayText, null, context); getPriorityHelper().adjustCrossReferencePriority(proposal, context.getPrefix()); if (proposal instanceof ConfigurableCompletionProposal) { ((ConfigurableCompletionProposal) proposal).setPriority(((ConfigurableCompletionProposal) proposal).getPriority() - 1); } acceptor.accept(proposal); } } } } }