forked from CraftTweaker/CraftTweaker
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: TheSilkMiner <[email protected]>
- Loading branch information
1 parent
649dfbc
commit 2b37f61
Showing
833 changed files
with
54,530 additions
and
944 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
78 changes: 0 additions & 78 deletions
78
Annotations/Crafttweaker_Annotation_Processors/build.gradle
This file was deleted.
Oops, something went wrong.
46 changes: 46 additions & 0 deletions
46
Annotations/Crafttweaker_Annotation_Processors/build.gradle.kts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
plugins { | ||
java | ||
eclipse | ||
idea | ||
`maven-publish` | ||
} | ||
|
||
group = "com.blamejared.crafttweaker" | ||
version = "2.0.0" + (if (System.getenv().containsKey("BUILD_NUMBER")) ".${System.getenv("BUILD_NUMBER")}" else "") | ||
|
||
val projectDeps = setOf(":Crafttweaker_Annotations", ":JavaAnnotations") | ||
val baseArchiveName = "Crafttweaker_Annotation_Processors-1.17.1" | ||
|
||
base { | ||
archivesName.set(baseArchiveName) | ||
} | ||
|
||
tasks.jar { | ||
dependsOn.addAll(projectDeps.map { "$it:compileJava" }) | ||
} | ||
|
||
dependencies { | ||
projectDeps.forEach { implementation(project(it)) } | ||
|
||
implementation("org.jetbrains:annotations:22.0.0") | ||
implementation("org.reflections:reflections:0.10.2") | ||
implementation(files("libs/tools.jar")) | ||
implementation("com.google.code.gson:gson:2.8.9") | ||
} | ||
|
||
publishing { | ||
|
||
publications { | ||
|
||
register("mavenJava", MavenPublication::class) { | ||
artifactId = baseArchiveName | ||
from(components["java"]) | ||
} | ||
|
||
} | ||
|
||
repositories { | ||
|
||
maven("file://${System.getenv("local_maven")}") | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
107 changes: 107 additions & 0 deletions
107
...essors/document/conversion/converter/expansion/member/ExpansionStaticMethodConverter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
package com.blamejared.crafttweaker_annotation_processors.processors.document.conversion.converter.expansion.member; | ||
|
||
import com.blamejared.crafttweaker_annotation_processors.processors.document.conversion.converter.comment.CommentConverter; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.conversion.converter.comment.documentation_parameter.ReturnTypeInfoReader; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.conversion.converter.member.header.HeaderConverter; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.page.comment.DocumentationComment; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.page.info.DocumentationPageInfo; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.page.member.header.MemberHeader; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.page.member.static_member.DocumentedStaticMembers; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.page.member.static_member.StaticMethodMember; | ||
import com.blamejared.crafttweaker_annotation_processors.processors.document.page.type.AbstractTypeInfo; | ||
import org.openzen.zencode.java.ZenCodeType; | ||
|
||
import javax.annotation.Nullable; | ||
import javax.lang.model.element.Element; | ||
import javax.lang.model.element.ExecutableElement; | ||
import javax.lang.model.element.TypeParameterElement; | ||
import javax.lang.model.element.VariableElement; | ||
import javax.lang.model.type.TypeMirror; | ||
import java.util.List; | ||
|
||
public class ExpansionStaticMethodConverter { | ||
|
||
private final CommentConverter commentConverter; | ||
private final HeaderConverter headerConverter; | ||
private final ReturnTypeInfoReader returnTypeInfoReader; | ||
|
||
public ExpansionStaticMethodConverter(CommentConverter commentConverter, HeaderConverter headerConverter, ReturnTypeInfoReader returnTypeInfoReader) { | ||
|
||
this.commentConverter = commentConverter; | ||
this.headerConverter = headerConverter; | ||
this.returnTypeInfoReader = returnTypeInfoReader; | ||
} | ||
|
||
public void convertAndAddTo(Element enclosingElement, DocumentedStaticMembers result, DocumentationPageInfo expansionTypeInfo, AbstractTypeInfo expandedTypeInfo) { | ||
|
||
for(Element enclosedElement : enclosingElement.getEnclosedElements()) { | ||
if(canConvert(enclosedElement)) { | ||
final StaticMethodMember staticMethodMember = convertStaticMethodMember(enclosedElement, expansionTypeInfo); | ||
result.addMethod(staticMethodMember, expandedTypeInfo); | ||
} | ||
} | ||
} | ||
|
||
private StaticMethodMember convertStaticMethodMember(Element enclosedElement, DocumentationPageInfo expandedTypeInfo) { | ||
|
||
ExecutableElement method = (ExecutableElement) enclosedElement; | ||
return convertMethodMember(method, expandedTypeInfo); | ||
} | ||
|
||
private StaticMethodMember convertMethodMember(ExecutableElement method, DocumentationPageInfo pageInfo) { | ||
|
||
final String name = getName(method); | ||
final MemberHeader header = getHeader(method); | ||
final DocumentationComment comment = getComment(method, pageInfo); | ||
final String returnTypeInfo = getReturnTypeInfo(method); | ||
|
||
return new StaticMethodMember(name, header, comment, returnTypeInfo); | ||
} | ||
|
||
private boolean canConvert(Element enclosedElement) { | ||
|
||
return enclosedElement.getAnnotation(ZenCodeType.StaticExpansionMethod.class) != null; | ||
} | ||
|
||
private MemberHeader getHeader(ExecutableElement enclosedElement) { | ||
|
||
final List<? extends VariableElement> parameters = getParameters(enclosedElement); | ||
final List<? extends TypeParameterElement> typeParameters = getTypeParameters(enclosedElement); | ||
final TypeMirror returnType = getReturnType(enclosedElement); | ||
return headerConverter.convertHeaderFor(parameters, typeParameters, returnType); | ||
} | ||
|
||
private List<? extends VariableElement> getParameters(ExecutableElement enclosedElement) { | ||
|
||
return enclosedElement.getParameters(); | ||
} | ||
|
||
private List<? extends TypeParameterElement> getTypeParameters(ExecutableElement enclosedElement) { | ||
|
||
return enclosedElement.getTypeParameters(); | ||
} | ||
|
||
private TypeMirror getReturnType(ExecutableElement enclosedElement) { | ||
|
||
return enclosedElement.getReturnType(); | ||
} | ||
|
||
private DocumentationComment getComment(ExecutableElement enclosedElement, DocumentationPageInfo pageInfo) { | ||
|
||
return commentConverter.convertForMethod(enclosedElement, pageInfo); | ||
} | ||
|
||
|
||
@Nullable | ||
private String getReturnTypeInfo(ExecutableElement method) { | ||
|
||
return returnTypeInfoReader.readForMethod(method).orElse(null); | ||
} | ||
|
||
private String getName(ExecutableElement method) { | ||
|
||
String customMethodName = method.getAnnotation(ZenCodeType.StaticExpansionMethod.class).value(); | ||
return customMethodName.isEmpty() ? method.getSimpleName().toString() : customMethodName; | ||
} | ||
|
||
} |
Oops, something went wrong.