package com.jetbrains.lang.dart.ide.template.macro; import com.intellij.codeInsight.template.Expression; import com.intellij.codeInsight.template.ExpressionContext; import com.intellij.codeInsight.template.Result; import com.intellij.codeInsight.template.TextResult; import org.jetbrains.annotations.NotNull; public class DartClassNameMethodNameMacro extends DartMacroBase { @Override public String getName() { return "dartClassNameMethodName"; } @Override public Result calculateResult(@NotNull Expression[] params, final ExpressionContext context) { final Result classNameResult = (new DartClassNameMacro()).calculateResult(params, context); final Result methodNameResult = (new DartMethodNameMacro()).calculateResult(params, context); if (classNameResult != null && methodNameResult != null) { return new TextResult(classNameResult.toString() + "." + methodNameResult.toString()); } else if (classNameResult == null && methodNameResult != null) { return new TextResult(methodNameResult.toString()); } else if (classNameResult != null) { return new TextResult(classNameResult.toString()); } else { return null; } } }