Skip to content

Instantly share code, notes, and snippets.

View eugene-kamenev's full-sized avatar
💚

Eugene Kamenev eugene-kamenev

💚
View GitHub Profile
@eugene-kamenev
eugene-kamenev / TestCase.groovy
Created July 30, 2015 10:05
Reproducing issue with orientdb-groovy
@OrientDocument
@CompileStatic
class Process {
String name
ProcessNode startNode
ProcessNode endNode
Set<Tag> tags
static mapping = {
tags(type: OType.EMBEDDEDLIST)
import com.intellij.psi.*;
contributor(context()) {
if (classType?.hasAnnotation('com.arasthel.swissknife.annotations.Parcelable')) {
def psiFacade = com.intellij.psi.JavaPsiFacade.getInstance(project)
def scope = com.intellij.psi.search.GlobalSearchScope.allScope(project)
def parcelableClass = psiFacade.findClass('android.os.Parcelable', scope)
final PsiElementFactory elementFactory = psiFacade.getElementFactory()
PsiJavaCodeReferenceElement ref = elementFactory.createClassReferenceElement(parcelableClass)
classType.getImplementsList().add(ref)
@eugene-kamenev
eugene-kamenev / Using ASTBuilder in gdsl script.groovy
Last active December 14, 2015 08:35
We used AstBuilder.buildFromString to parse groovy code and tell AndroidStudio to add code completion & checking for SwissKnife lib
package gdsl
import org.codehaus.groovy.ast.builder.AstBuilder
import org.codehaus.groovy.ast.expr.BinaryExpression
import org.codehaus.groovy.ast.expr.ClosureExpression
import org.codehaus.groovy.ast.expr.MethodCallExpression
import org.codehaus.groovy.ast.stmt.BlockStatement
import org.codehaus.groovy.ast.stmt.ExpressionStatement
import org.codehaus.groovy.ast.stmt.ReturnStatement
import org.codehaus.groovy.control.CompilePhase