未验证 提交 2326d4b8 编写于 作者: 梦境迷离's avatar 梦境迷离 提交者: GitHub

Small optimization (#58)

上级 d265f5bd
......@@ -2,13 +2,13 @@ import sbt.Def
import sbtrelease.ReleaseStateTransformations._
name := "scala-macro-tools"
organization := "io.github.jxnu-liguobin"
lazy val scala212 = "2.12.14"
lazy val scala211 = "2.11.12"
lazy val scala213 = "2.13.6"
scalaVersion := scala213
organization := "io.github.jxnu-liguobin"
lazy val supportedScalaVersions = List(scala213, scala212, scala211)
......
import org.jetbrains.sbtidea.Keys._
name := "scala-macro-tools-intellij-plugin"
organization := "io.github.jxnu-liguobin"
lazy val scala213 = "2.13.6"
scalaVersion := scala213
organization := "io.github.jxnu-liguobin"
import org.jetbrains.sbtidea.Keys._
lazy val `intellij-plugin` = (project in file("."))
.enablePlugins(SbtIdeaPlugin)
.settings(
version := (version in ThisBuild).value,
version := (ThisBuild / version).value,
scalaVersion := scala213,
ThisBuild / intellijPluginName := "Scala-Macro-Tools",
ThisBuild / intellijBuild := "211.7628.21", // @see https://confluence.jetbrains.com/display/IDEADEV/IDEA+2021.1+latest+builds
ThisBuild / intellijPlatform := IntelliJPlatform.IdeaCommunity,
Global / intellijAttachSources := true,
Compile / javacOptions ++= "--release" :: "11" :: Nil,
// Global / scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-Xfatal-warnings"),
// Global / scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-Xfatal-warnings"),
intellijPlugins ++= Seq("com.intellij.java", "com.intellij.java-i18n", "org.intellij.scala").map(_.toPlugin),
libraryDependencies ++= Seq.empty,
unmanagedResourceDirectories in Compile += baseDirectory.value / "src" / "main" / "resources",
unmanagedResourceDirectories in Test += baseDirectory.value / "src" / "test" / "resources",
Compile / unmanagedResourceDirectories += baseDirectory.value / "src" / "main" / "resources",
Test / unmanagedResourceDirectories += baseDirectory.value / "src" / "test" / "resources",
patchPluginXml := pluginXmlOptions { xml =>
xml.version = (version in ThisBuild).value
xml.version = (ThisBuild / version).value
xml.pluginDescription = IO.read(baseDirectory.value / "src" / "main" / "resources" / "patch" / "description.html")
xml.changeNotes = IO.read(baseDirectory.value / "src" / "main" / "resources" / "patch" / "change.html")
xml.changeNotes = IO.read(baseDirectory.value / "src" / "main" / "resources" / "patch" / "change.html")
},
publish / skip := true,
)
......@@ -31,9 +31,9 @@ class ScalaMacroProcessorProvider extends Disposable {
def findProcessors(source: ScTypeDefinition): Seq[Processor] = {
processors.filter { p =>
source match {
case obj: ScObject => obj.hasAnnotation(p._1) || obj.fakeCompanionClassOrCompanionClass.hasAnnotation(p._1)
case obj: ScObject => obj.hasAnnotation(p._1) || obj.fakeCompanionClassOrCompanionClass.hasAnnotation(p._1)
case clazz: ScClass => clazz.hasAnnotation(p._1)
case _ => source.hasAnnotation(p._1)
case _ => source.hasAnnotation(p._1)
}
}.values.toSeq
}
......
package io.github.dreamylost.plugin.processor.clazz
import io.github.dreamylost.plugin.ScalaMacroNames
import io.github.dreamylost.plugin.processor.{ AbsProcessor, ProcessType }
import io.github.dreamylost.plugin.processor.ProcessType.ProcessType
import io.github.dreamylost.plugin.processor.{ AbsProcessor, ProcessType }
import org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.{ ScClass, ScObject, ScTypeDefinition }
/**
......@@ -21,19 +21,14 @@ class LogProcessor extends AbsProcessor {
typ match {
case ProcessType.Field =>
source match {
case clazz @ (_: ScClass | _: ScObject) =>
clazz.annotations(ScalaMacroNames.LOG).lastOption match {
case Some(an) =>
// annotation expr string
an.annotationExpr.getText match {
case expr if expr.contains("Slf4j") =>
Seq(logExpr("org.slf4j.Logger"))
case expr if expr.contains("Log4j2") =>
Seq(logExpr("org.apache.logging.log4j.Logger"))
case _ =>
Seq(logExpr())
}
case None => Nil
case clazz@(_: ScClass | _: ScObject) =>
clazz.annotations(ScalaMacroNames.LOG).lastOption.fold[Seq[String]](Nil) { an => {
an.annotationExpr.getText match {
case expr if expr.contains("Slf4j") => Seq(logExpr("org.slf4j.Logger"))
case expr if expr.contains("Log4j2") => Seq(logExpr("org.apache.logging.log4j.Logger"))
case _ => Seq(logExpr())
}
}
}
case _ => Nil
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册