Examples of GrMethodCall


Examples of org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrMethodCall

        templateState.gotoEnd();
      }
    }

    // snippet text
    final GrMethodCall element = buildStepDefinitionByStep(step);

    GrMethodCall methodCall = (GrMethodCall)((GroovyFile)file).addStatementBefore(element, null);
    JavaCodeStyleManager.getInstance(project).shortenClassReferences(methodCall);
    methodCall = CodeInsightUtilCore.forcePsiPostprocessAndRestoreElement(methodCall);

    PsiDocumentManager.getInstance(project).commitAllDocuments();

    if (ApplicationManager.getApplication().isUnitTestMode()) return true;

    final TemplateBuilderImpl builder = (TemplateBuilderImpl)TemplateBuilderFactory.getInstance().createTemplateBuilder(methodCall);

    // regexp str
    GrLiteral pattern = GrCucumberUtil.getStepDefinitionPattern(methodCall);
    assert pattern != null;

    String patternText = pattern.getText();

    builder.replaceElement(pattern,
                           new TextRange(1, patternText.length() - 1),
                           patternText.substring(1, patternText.length() - 1));

    // block vars
    GrClosableBlock closure = methodCall.getClosureArguments()[0];
    final GrParameter[] blockVars = closure.getAllParameters();
    for (GrParameter var : blockVars) {
      PsiElement identifier = var.getNameIdentifierGroovy();
      builder.replaceElement(identifier, identifier.getText());
    }

    TemplateManager manager = TemplateManager.getInstance(project);

    final Editor editorToRunTemplate;
    if (editor == null) {
      editorToRunTemplate = IntentionUtils.positionCursor(project, file, methodCall);
    }
    else {
      editorToRunTemplate = editor;
    }

    Template template = builder.buildTemplate();

    TextRange range = methodCall.getTextRange();
    editorToRunTemplate.getDocument().deleteString(range.getStartOffset(), range.getEndOffset());
    editorToRunTemplate.getCaretModel().moveToOffset(range.getStartOffset());

    manager.startTemplate(editorToRunTemplate, template, new TemplateEditingAdapter() {
      @Override
      public void templateFinished(Template template, boolean brokenOff) {
        if (brokenOff) return;

        ApplicationManager.getApplication().runWriteAction(new Runnable() {
          @Override
          public void run() {
            PsiDocumentManager.getInstance(project).commitDocument(editorToRunTemplate.getDocument());
            final int offset = editorToRunTemplate.getCaretModel().getOffset();
            GrMethodCall methodCall = PsiTreeUtil.findElementOfClassAtOffset(file, offset - 1, GrMethodCall.class, false);
            if (methodCall != null) {
              GrClosableBlock[] closures = methodCall.getClosureArguments();
              if (closures.length == 1) {
                GrClosableBlock closure = closures[0];
                selectBody(closure, editor);
              }
            }
View Full Code Here

Examples of org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrMethodCall

      if (parent != null) {
        final PsiElement pparent = parent.getParent()//(~literal)
        if (pparent != null) {
          final PsiElement ppparent = pparent.getParent(); //When(~literal)
          if (ppparent instanceof GrMethodCall && GrCucumberUtil.isStepDefinition(ppparent)) {
            final GrMethodCall methodCall = (GrMethodCall)ppparent;
            consumer.consume(GrStepDefinition.getStepDefinition(methodCall));
          }
        }
      }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.