diff --git a/Dockerfile.tpl b/Dockerfile.tpl index add122b..8770c93 100644 --- a/Dockerfile.tpl +++ b/Dockerfile.tpl @@ -5,5 +5,5 @@ ENV RUNTIME_NATIVE_VERSION $RUNTIME_NATIVE_VERSION RUN apk add --no-cache openjdk8-jre="$RUNTIME_NATIVE_VERSION" -ADD build /opt/driver/bin -CMD /opt/driver/bin/driver +ADD build /opt/driver +ENTRYPOINT ["/opt/driver/bin/driver"] diff --git a/Makefile b/Makefile index 5de5fb7..f2f6fb8 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ test-native-internal: build-native-internal: cd native; \ $(MVN_CMD) package - cp native/target/$(JAR) $(BUILD_PATH); \ - cp native/src/main/sh/native.sh $(BUILD_PATH)/native; \ - chmod +x $(BUILD_PATH)/native + cp native/target/$(JAR) $(BUILD_PATH)/bin; \ + cp native/src/main/sh/native.sh $(BUILD_PATH)/bin/native; \ + chmod +x $(BUILD_PATH)/bin/native diff --git a/driver/main.go b/driver/main.go index bfdcc39..84ac34e 100644 --- a/driver/main.go +++ b/driver/main.go @@ -1,20 +1,19 @@ package main import ( - "gopkg.in/bblfsh/sdk.v1/protocol/driver" - "github.com/bblfsh/java-driver/driver/normalizer" -) -var version string -var build string + "gopkg.in/bblfsh/sdk.v1/sdk/driver" +) func main() { - d := driver.Driver{ - Version: version, - Build: build, - ParserBuilder: normalizer.ParserBuilder, - Annotate: normalizer.AnnotationRules, + d, err := driver.NewDriver(normalizer.ToNode, normalizer.Transformers) + if err != nil { + panic(err) + } + + s := driver.NewServer(d) + if err := s.Start(); err != nil { + panic(err) } - d.Exec() } diff --git a/driver/normalizer/annotation.go b/driver/normalizer/annotation.go index 138e04a..1975cb6 100644 --- a/driver/normalizer/annotation.go +++ b/driver/normalizer/annotation.go @@ -5,8 +5,20 @@ import ( "gopkg.in/bblfsh/sdk.v1/uast" . "gopkg.in/bblfsh/sdk.v1/uast/ann" + "gopkg.in/bblfsh/sdk.v1/uast/transformer" + "gopkg.in/bblfsh/sdk.v1/uast/transformer/annotatter" ) +// Transformers is the of list `transformer.Transfomer` to apply to a UAST, to +// learn more about the Transformers and the available ones take a look to: +// https://godoc.org/gopkg.in/bblfsh/sdk.v1/uast/transformers +var Transformers = []transformer.Tranformer{ + annotatter.NewAnnotatter(AnnotationRules), +} + +// AnnotationRules describes how a UAST should be annotated with `uast.Role`. +// +// https://godoc.org/gopkg.in/bblfsh/sdk.v1/uast/ann var AnnotationRules = On(jdt.CompilationUnit).Roles(uast.File).Descendants( // Names On(jdt.QualifiedName).Roles(uast.Expression, uast.Identifier, uast.Qualified), diff --git a/driver/normalizer/annotation_test.go b/driver/normalizer/annotation_test.go index 3054cf6..bbc4b7a 100644 --- a/driver/normalizer/annotation_test.go +++ b/driver/normalizer/annotation_test.go @@ -8,8 +8,8 @@ import ( "path/filepath" "testing" - "gopkg.in/bblfsh/sdk.v1/uast" "github.com/stretchr/testify/require" + "gopkg.in/bblfsh/sdk.v1/uast" ) var ( @@ -22,7 +22,7 @@ func TestAnnotate(t *testing.T) { f, err := getFixture("java_example_1.json") require.NoError(err) - n, err := ToNoder.ToNode(f) + n, err := ToNode.ToNode(f) require.NoError(err) require.NotNil(n) @@ -51,7 +51,7 @@ func TestAnnotatePrettyAnnotationsOnly(t *testing.T) { f, err := getFixture("java_example_1.json") require.NoError(err) - n, err := ToNoder.ToNode(f) + n, err := ToNode.ToNode(f) require.NoError(err) require.NotNil(n) @@ -70,7 +70,7 @@ func TestNodeTokens(t *testing.T) { f, err := getFixture("java_example_1.json") require.NoError(err) - n, err := ToNoder.ToNode(f) + n, err := ToNode.ToNode(f) require.NoError(err) require.NotNil(n) diff --git a/driver/normalizer/parser.go b/driver/normalizer/parser.go deleted file mode 100644 index 13805e8..0000000 --- a/driver/normalizer/parser.go +++ /dev/null @@ -1,55 +0,0 @@ -package normalizer - -import ( - "gopkg.in/bblfsh/sdk.v1/protocol/driver" - "gopkg.in/bblfsh/sdk.v1/protocol/native" -) - -var ToNoder = &native.ObjectToNoder{ - InternalTypeKey: "internalClass", - LineKey: "startLine", - ColumnKey: "startColumn", - OffsetKey: "startPosition", - EndLineKey: "endLine", - EndColumnKey: "endColumn", - EndOffsetKey: "endPosition", - PositionFill: native.None, - - //TODO: Should this be part of the UAST rules? - TokenKeys: map[string]bool{ - "identifier": true, // SimpleName - "escapedValue": true, // StringLiteral - "keyword": true, // Modifier - "primitiveTypeCode": true, // ? - }, - SyntheticTokens: map[string]string{ - "PackageDeclaration": "package", - "IfStatement": "if", - "NullLiteral": "null", - }, - //TODO: add names of children (e.g. elseStatement) as - // children node properties. -} - -// ParserBuilder creates a parser that transform source code files into *uast.Node. -func ParserBuilder(opts driver.ParserOptions) (parser driver.Parser, err error) { - parser, err = native.ExecParser(ToNoder, opts.NativeBin) - if err != nil { - return - } - - switch ToNoder.PositionFill { - case native.OffsetFromLineCol: - parser = &driver.TransformationParser{ - Parser: parser, - Transformation: driver.FillOffsetFromLineCol, - } - case native.LineColFromOffset: - parser = &driver.TransformationParser{ - Parser: parser, - Transformation: driver.FillLineColFromOffset, - } - } - - return -} diff --git a/driver/normalizer/tonode.go b/driver/normalizer/tonode.go new file mode 100644 index 0000000..b0249c3 --- /dev/null +++ b/driver/normalizer/tonode.go @@ -0,0 +1,34 @@ +package normalizer + +import ( + "gopkg.in/bblfsh/sdk.v1/uast" +) + +// ToNode is an instance of `uast.ObjectToNode`, defining how to transform an +// into a UAST (`uast.Node`). +// +// https://godoc.org/gopkg.in/bblfsh/sdk.v1/uast#ObjectToNode +var ToNode = &uast.ObjectToNode{ + InternalTypeKey: "internalClass", + LineKey: "startLine", + ColumnKey: "startColumn", + OffsetKey: "startPosition", + EndLineKey: "endLine", + EndColumnKey: "endColumn", + EndOffsetKey: "endPosition", + + //TODO: Should this be part of the UAST rules? + TokenKeys: map[string]bool{ + "identifier": true, // SimpleName + "escapedValue": true, // StringLiteral + "keyword": true, // Modifier + "primitiveTypeCode": true, // ? + }, + SyntheticTokens: map[string]string{ + "PackageDeclaration": "package", + "IfStatement": "if", + "NullLiteral": "null", + }, + //TODO: add names of children (e.g. elseStatement) as + // children node properties. +} diff --git a/driver/normalizer/parser_test.go b/driver/normalizer/tonode_test.go similarity index 69% rename from driver/normalizer/parser_test.go rename to driver/normalizer/tonode_test.go index 02a2ea8..d6106c8 100644 --- a/driver/normalizer/parser_test.go +++ b/driver/normalizer/tonode_test.go @@ -1,20 +1,18 @@ package normalizer import ( - "fmt" "testing" "github.com/stretchr/testify/require" ) -func TestNativeToNoder(t *testing.T) { +func TestNativeToNode(t *testing.T) { require := require.New(t) f, err := getFixture("java_example_1.json") require.NoError(err) - n, err := ToNoder.ToNode(f) + n, err := ToNode.ToNode(f) require.NoError(err) require.NotNil(n) - fmt.Println("NODE", n) } diff --git a/tests/annotation_type_declaration.native b/fixtures/annotation_type_declaration.native similarity index 100% rename from tests/annotation_type_declaration.native rename to fixtures/annotation_type_declaration.native diff --git a/tests/annotation_type_declaration.source b/fixtures/annotation_type_declaration.source similarity index 100% rename from tests/annotation_type_declaration.source rename to fixtures/annotation_type_declaration.source diff --git a/tests/annotation_type_declaration.uast b/fixtures/annotation_type_declaration.uast similarity index 100% rename from tests/annotation_type_declaration.uast rename to fixtures/annotation_type_declaration.uast diff --git a/tests/annotation_type_member_declaration.native b/fixtures/annotation_type_member_declaration.native similarity index 100% rename from tests/annotation_type_member_declaration.native rename to fixtures/annotation_type_member_declaration.native diff --git a/tests/annotation_type_member_declaration.source b/fixtures/annotation_type_member_declaration.source similarity index 100% rename from tests/annotation_type_member_declaration.source rename to fixtures/annotation_type_member_declaration.source diff --git a/tests/annotation_type_member_declaration.uast b/fixtures/annotation_type_member_declaration.uast similarity index 100% rename from tests/annotation_type_member_declaration.uast rename to fixtures/annotation_type_member_declaration.uast diff --git a/tests/anonymous_class_declaration.native b/fixtures/anonymous_class_declaration.native similarity index 100% rename from tests/anonymous_class_declaration.native rename to fixtures/anonymous_class_declaration.native diff --git a/tests/anonymous_class_declaration.source b/fixtures/anonymous_class_declaration.source similarity index 100% rename from tests/anonymous_class_declaration.source rename to fixtures/anonymous_class_declaration.source diff --git a/tests/anonymous_class_declaration.uast b/fixtures/anonymous_class_declaration.uast similarity index 100% rename from tests/anonymous_class_declaration.uast rename to fixtures/anonymous_class_declaration.uast diff --git a/tests/array.native b/fixtures/array.native similarity index 100% rename from tests/array.native rename to fixtures/array.native diff --git a/tests/array.source b/fixtures/array.source similarity index 100% rename from tests/array.source rename to fixtures/array.source diff --git a/tests/array.uast b/fixtures/array.uast similarity index 100% rename from tests/array.uast rename to fixtures/array.uast diff --git a/tests/array_initializer.native b/fixtures/array_initializer.native similarity index 100% rename from tests/array_initializer.native rename to fixtures/array_initializer.native diff --git a/tests/array_initializer.source b/fixtures/array_initializer.source similarity index 100% rename from tests/array_initializer.source rename to fixtures/array_initializer.source diff --git a/tests/array_initializer.uast b/fixtures/array_initializer.uast similarity index 100% rename from tests/array_initializer.uast rename to fixtures/array_initializer.uast diff --git a/tests/assert.native b/fixtures/assert.native similarity index 100% rename from tests/assert.native rename to fixtures/assert.native diff --git a/tests/assert.source b/fixtures/assert.source similarity index 100% rename from tests/assert.source rename to fixtures/assert.source diff --git a/tests/assert.uast b/fixtures/assert.uast similarity index 100% rename from tests/assert.uast rename to fixtures/assert.uast diff --git a/tests/binary_expression.native b/fixtures/binary_expression.native similarity index 100% rename from tests/binary_expression.native rename to fixtures/binary_expression.native diff --git a/tests/binary_expression.source b/fixtures/binary_expression.source similarity index 100% rename from tests/binary_expression.source rename to fixtures/binary_expression.source diff --git a/tests/binary_expression.uast b/fixtures/binary_expression.uast similarity index 100% rename from tests/binary_expression.uast rename to fixtures/binary_expression.uast diff --git a/tests/block_comment.native b/fixtures/block_comment.native similarity index 100% rename from tests/block_comment.native rename to fixtures/block_comment.native diff --git a/tests/block_comment.source b/fixtures/block_comment.source similarity index 100% rename from tests/block_comment.source rename to fixtures/block_comment.source diff --git a/tests/block_comment.uast b/fixtures/block_comment.uast similarity index 100% rename from tests/block_comment.uast rename to fixtures/block_comment.uast diff --git a/tests/boolean_operators.native b/fixtures/boolean_operators.native similarity index 100% rename from tests/boolean_operators.native rename to fixtures/boolean_operators.native diff --git a/tests/boolean_operators.source b/fixtures/boolean_operators.source similarity index 100% rename from tests/boolean_operators.source rename to fixtures/boolean_operators.source diff --git a/tests/boolean_operators.uast b/fixtures/boolean_operators.uast similarity index 100% rename from tests/boolean_operators.uast rename to fixtures/boolean_operators.uast diff --git a/tests/break.native b/fixtures/break.native similarity index 100% rename from tests/break.native rename to fixtures/break.native diff --git a/tests/break.source b/fixtures/break.source similarity index 100% rename from tests/break.source rename to fixtures/break.source diff --git a/tests/break.uast b/fixtures/break.uast similarity index 100% rename from tests/break.uast rename to fixtures/break.uast diff --git a/tests/cast_expression.native b/fixtures/cast_expression.native similarity index 100% rename from tests/cast_expression.native rename to fixtures/cast_expression.native diff --git a/tests/cast_expression.source b/fixtures/cast_expression.source similarity index 100% rename from tests/cast_expression.source rename to fixtures/cast_expression.source diff --git a/tests/cast_expression.uast b/fixtures/cast_expression.uast similarity index 100% rename from tests/cast_expression.uast rename to fixtures/cast_expression.uast diff --git a/tests/character_literal.native b/fixtures/character_literal.native similarity index 100% rename from tests/character_literal.native rename to fixtures/character_literal.native diff --git a/tests/character_literal.source b/fixtures/character_literal.source similarity index 100% rename from tests/character_literal.source rename to fixtures/character_literal.source diff --git a/tests/character_literal.uast b/fixtures/character_literal.uast similarity index 100% rename from tests/character_literal.uast rename to fixtures/character_literal.uast diff --git a/tests/constructor_invocation.native b/fixtures/constructor_invocation.native similarity index 100% rename from tests/constructor_invocation.native rename to fixtures/constructor_invocation.native diff --git a/tests/constructor_invocation.source b/fixtures/constructor_invocation.source similarity index 100% rename from tests/constructor_invocation.source rename to fixtures/constructor_invocation.source diff --git a/tests/constructor_invocation.uast b/fixtures/constructor_invocation.uast similarity index 100% rename from tests/constructor_invocation.uast rename to fixtures/constructor_invocation.uast diff --git a/tests/continue.native b/fixtures/continue.native similarity index 100% rename from tests/continue.native rename to fixtures/continue.native diff --git a/tests/continue.source b/fixtures/continue.source similarity index 100% rename from tests/continue.source rename to fixtures/continue.source diff --git a/tests/continue.uast b/fixtures/continue.uast similarity index 100% rename from tests/continue.uast rename to fixtures/continue.uast diff --git a/tests/creation_reference.native b/fixtures/creation_reference.native similarity index 100% rename from tests/creation_reference.native rename to fixtures/creation_reference.native diff --git a/tests/creation_reference.source b/fixtures/creation_reference.source similarity index 100% rename from tests/creation_reference.source rename to fixtures/creation_reference.source diff --git a/tests/creation_reference.uast b/fixtures/creation_reference.uast similarity index 100% rename from tests/creation_reference.uast rename to fixtures/creation_reference.uast diff --git a/tests/do_while.native b/fixtures/do_while.native similarity index 100% rename from tests/do_while.native rename to fixtures/do_while.native diff --git a/tests/do_while.source b/fixtures/do_while.source similarity index 100% rename from tests/do_while.source rename to fixtures/do_while.source diff --git a/tests/do_while.uast b/fixtures/do_while.uast similarity index 100% rename from tests/do_while.uast rename to fixtures/do_while.uast diff --git a/tests/empty.native b/fixtures/empty.native similarity index 100% rename from tests/empty.native rename to fixtures/empty.native diff --git a/tests/empty.source b/fixtures/empty.source similarity index 100% rename from tests/empty.source rename to fixtures/empty.source diff --git a/tests/empty.uast b/fixtures/empty.uast similarity index 100% rename from tests/empty.uast rename to fixtures/empty.uast diff --git a/tests/empty_statement.native b/fixtures/empty_statement.native similarity index 100% rename from tests/empty_statement.native rename to fixtures/empty_statement.native diff --git a/tests/empty_statement.source b/fixtures/empty_statement.source similarity index 100% rename from tests/empty_statement.source rename to fixtures/empty_statement.source diff --git a/tests/empty_statement.uast b/fixtures/empty_statement.uast similarity index 100% rename from tests/empty_statement.uast rename to fixtures/empty_statement.uast diff --git a/tests/enum_declaration.native b/fixtures/enum_declaration.native similarity index 100% rename from tests/enum_declaration.native rename to fixtures/enum_declaration.native diff --git a/tests/enum_declaration.source b/fixtures/enum_declaration.source similarity index 100% rename from tests/enum_declaration.source rename to fixtures/enum_declaration.source diff --git a/tests/enum_declaration.uast b/fixtures/enum_declaration.uast similarity index 100% rename from tests/enum_declaration.uast rename to fixtures/enum_declaration.uast diff --git a/tests/expression_method_reference.native b/fixtures/expression_method_reference.native similarity index 100% rename from tests/expression_method_reference.native rename to fixtures/expression_method_reference.native diff --git a/tests/expression_method_reference.source b/fixtures/expression_method_reference.source similarity index 100% rename from tests/expression_method_reference.source rename to fixtures/expression_method_reference.source diff --git a/tests/expression_method_reference.uast b/fixtures/expression_method_reference.uast similarity index 100% rename from tests/expression_method_reference.uast rename to fixtures/expression_method_reference.uast diff --git a/tests/field_access.native b/fixtures/field_access.native similarity index 100% rename from tests/field_access.native rename to fixtures/field_access.native diff --git a/tests/field_access.source b/fixtures/field_access.source similarity index 100% rename from tests/field_access.source rename to fixtures/field_access.source diff --git a/tests/field_access.uast b/fixtures/field_access.uast similarity index 100% rename from tests/field_access.uast rename to fixtures/field_access.uast diff --git a/tests/for.native b/fixtures/for.native similarity index 100% rename from tests/for.native rename to fixtures/for.native diff --git a/tests/for.source b/fixtures/for.source similarity index 100% rename from tests/for.source rename to fixtures/for.source diff --git a/tests/for.uast b/fixtures/for.uast similarity index 100% rename from tests/for.uast rename to fixtures/for.uast diff --git a/tests/foreach.native b/fixtures/foreach.native similarity index 100% rename from tests/foreach.native rename to fixtures/foreach.native diff --git a/tests/foreach.source b/fixtures/foreach.source similarity index 100% rename from tests/foreach.source rename to fixtures/foreach.source diff --git a/tests/foreach.uast b/fixtures/foreach.uast similarity index 100% rename from tests/foreach.uast rename to fixtures/foreach.uast diff --git a/tests/hello_world.native b/fixtures/hello_world.native similarity index 100% rename from tests/hello_world.native rename to fixtures/hello_world.native diff --git a/tests/hello_world.source b/fixtures/hello_world.source similarity index 100% rename from tests/hello_world.source rename to fixtures/hello_world.source diff --git a/tests/hello_world.uast b/fixtures/hello_world.uast similarity index 100% rename from tests/hello_world.uast rename to fixtures/hello_world.uast diff --git a/tests/if.native b/fixtures/if.native similarity index 100% rename from tests/if.native rename to fixtures/if.native diff --git a/tests/if.source b/fixtures/if.source similarity index 100% rename from tests/if.source rename to fixtures/if.source diff --git a/tests/if.uast b/fixtures/if.uast similarity index 100% rename from tests/if.uast rename to fixtures/if.uast diff --git a/tests/ifelse.native b/fixtures/ifelse.native similarity index 100% rename from tests/ifelse.native rename to fixtures/ifelse.native diff --git a/tests/ifelse.source b/fixtures/ifelse.source similarity index 100% rename from tests/ifelse.source rename to fixtures/ifelse.source diff --git a/tests/ifelse.uast b/fixtures/ifelse.uast similarity index 100% rename from tests/ifelse.uast rename to fixtures/ifelse.uast diff --git a/tests/initializer.native b/fixtures/initializer.native similarity index 100% rename from tests/initializer.native rename to fixtures/initializer.native diff --git a/tests/initializer.source b/fixtures/initializer.source similarity index 100% rename from tests/initializer.source rename to fixtures/initializer.source diff --git a/tests/initializer.uast b/fixtures/initializer.uast similarity index 100% rename from tests/initializer.uast rename to fixtures/initializer.uast diff --git a/tests/intersection_type.native b/fixtures/intersection_type.native similarity index 100% rename from tests/intersection_type.native rename to fixtures/intersection_type.native diff --git a/tests/intersection_type.source b/fixtures/intersection_type.source similarity index 100% rename from tests/intersection_type.source rename to fixtures/intersection_type.source diff --git a/tests/intersection_type.uast b/fixtures/intersection_type.uast similarity index 100% rename from tests/intersection_type.uast rename to fixtures/intersection_type.uast diff --git a/tests/labeled_statement.native b/fixtures/labeled_statement.native similarity index 100% rename from tests/labeled_statement.native rename to fixtures/labeled_statement.native diff --git a/tests/labeled_statement.source b/fixtures/labeled_statement.source similarity index 100% rename from tests/labeled_statement.source rename to fixtures/labeled_statement.source diff --git a/tests/labeled_statement.uast b/fixtures/labeled_statement.uast similarity index 100% rename from tests/labeled_statement.uast rename to fixtures/labeled_statement.uast diff --git a/tests/lambda_expession.native b/fixtures/lambda_expession.native similarity index 100% rename from tests/lambda_expession.native rename to fixtures/lambda_expession.native diff --git a/tests/lambda_expession.source b/fixtures/lambda_expession.source similarity index 100% rename from tests/lambda_expession.source rename to fixtures/lambda_expession.source diff --git a/tests/lambda_expession.uast b/fixtures/lambda_expession.uast similarity index 100% rename from tests/lambda_expession.uast rename to fixtures/lambda_expession.uast diff --git a/tests/line_comment.native b/fixtures/line_comment.native similarity index 100% rename from tests/line_comment.native rename to fixtures/line_comment.native diff --git a/tests/line_comment.source b/fixtures/line_comment.source similarity index 100% rename from tests/line_comment.source rename to fixtures/line_comment.source diff --git a/tests/line_comment.uast b/fixtures/line_comment.uast similarity index 100% rename from tests/line_comment.uast rename to fixtures/line_comment.uast diff --git a/tests/member_ref.native b/fixtures/member_ref.native similarity index 100% rename from tests/member_ref.native rename to fixtures/member_ref.native diff --git a/tests/member_ref.source b/fixtures/member_ref.source similarity index 100% rename from tests/member_ref.source rename to fixtures/member_ref.source diff --git a/tests/member_ref.uast b/fixtures/member_ref.uast similarity index 100% rename from tests/member_ref.uast rename to fixtures/member_ref.uast diff --git a/tests/member_value_pair.native b/fixtures/member_value_pair.native similarity index 100% rename from tests/member_value_pair.native rename to fixtures/member_value_pair.native diff --git a/tests/member_value_pair.source b/fixtures/member_value_pair.source similarity index 100% rename from tests/member_value_pair.source rename to fixtures/member_value_pair.source diff --git a/tests/member_value_pair.uast b/fixtures/member_value_pair.uast similarity index 100% rename from tests/member_value_pair.uast rename to fixtures/member_value_pair.uast diff --git a/tests/method_declarations.native b/fixtures/method_declarations.native similarity index 100% rename from tests/method_declarations.native rename to fixtures/method_declarations.native diff --git a/tests/method_declarations.source b/fixtures/method_declarations.source similarity index 100% rename from tests/method_declarations.source rename to fixtures/method_declarations.source diff --git a/tests/method_declarations.uast b/fixtures/method_declarations.uast similarity index 100% rename from tests/method_declarations.uast rename to fixtures/method_declarations.uast diff --git a/tests/method_ref.native b/fixtures/method_ref.native similarity index 100% rename from tests/method_ref.native rename to fixtures/method_ref.native diff --git a/tests/method_ref.source b/fixtures/method_ref.source similarity index 100% rename from tests/method_ref.source rename to fixtures/method_ref.source diff --git a/tests/method_ref.uast b/fixtures/method_ref.uast similarity index 100% rename from tests/method_ref.uast rename to fixtures/method_ref.uast diff --git a/tests/name_qualified_type.native b/fixtures/name_qualified_type.native similarity index 100% rename from tests/name_qualified_type.native rename to fixtures/name_qualified_type.native diff --git a/tests/name_qualified_type.source b/fixtures/name_qualified_type.source similarity index 100% rename from tests/name_qualified_type.source rename to fixtures/name_qualified_type.source diff --git a/tests/name_qualified_type.uast b/fixtures/name_qualified_type.uast similarity index 100% rename from tests/name_qualified_type.uast rename to fixtures/name_qualified_type.uast diff --git a/tests/operators.native b/fixtures/operators.native similarity index 100% rename from tests/operators.native rename to fixtures/operators.native diff --git a/tests/operators.source b/fixtures/operators.source similarity index 100% rename from tests/operators.source rename to fixtures/operators.source diff --git a/tests/operators.uast b/fixtures/operators.uast similarity index 100% rename from tests/operators.uast rename to fixtures/operators.uast diff --git a/tests/package_declaration.native b/fixtures/package_declaration.native similarity index 100% rename from tests/package_declaration.native rename to fixtures/package_declaration.native diff --git a/tests/package_declaration.source b/fixtures/package_declaration.source similarity index 100% rename from tests/package_declaration.source rename to fixtures/package_declaration.source diff --git a/tests/package_declaration.uast b/fixtures/package_declaration.uast similarity index 100% rename from tests/package_declaration.uast rename to fixtures/package_declaration.uast diff --git a/tests/qualified_identifier.native b/fixtures/qualified_identifier.native similarity index 100% rename from tests/qualified_identifier.native rename to fixtures/qualified_identifier.native diff --git a/tests/qualified_identifier.source b/fixtures/qualified_identifier.source similarity index 100% rename from tests/qualified_identifier.source rename to fixtures/qualified_identifier.source diff --git a/tests/qualified_identifier.uast b/fixtures/qualified_identifier.uast similarity index 100% rename from tests/qualified_identifier.uast rename to fixtures/qualified_identifier.uast diff --git a/tests/qualified_type.native b/fixtures/qualified_type.native similarity index 100% rename from tests/qualified_type.native rename to fixtures/qualified_type.native diff --git a/tests/qualified_type.source b/fixtures/qualified_type.source similarity index 100% rename from tests/qualified_type.source rename to fixtures/qualified_type.source diff --git a/tests/qualified_type.uast b/fixtures/qualified_type.uast similarity index 100% rename from tests/qualified_type.uast rename to fixtures/qualified_type.uast diff --git a/tests/return.native b/fixtures/return.native similarity index 100% rename from tests/return.native rename to fixtures/return.native diff --git a/tests/return.source b/fixtures/return.source similarity index 100% rename from tests/return.source rename to fixtures/return.source diff --git a/tests/return.uast b/fixtures/return.uast similarity index 100% rename from tests/return.uast rename to fixtures/return.uast diff --git a/tests/single_variable_declaration.native b/fixtures/single_variable_declaration.native similarity index 100% rename from tests/single_variable_declaration.native rename to fixtures/single_variable_declaration.native diff --git a/tests/single_variable_declaration.source b/fixtures/single_variable_declaration.source similarity index 100% rename from tests/single_variable_declaration.source rename to fixtures/single_variable_declaration.source diff --git a/tests/single_variable_declaration.uast b/fixtures/single_variable_declaration.uast similarity index 100% rename from tests/single_variable_declaration.uast rename to fixtures/single_variable_declaration.uast diff --git a/tests/super_constructor_invocation.native b/fixtures/super_constructor_invocation.native similarity index 100% rename from tests/super_constructor_invocation.native rename to fixtures/super_constructor_invocation.native diff --git a/tests/super_constructor_invocation.source b/fixtures/super_constructor_invocation.source similarity index 100% rename from tests/super_constructor_invocation.source rename to fixtures/super_constructor_invocation.source diff --git a/tests/super_constructor_invocation.uast b/fixtures/super_constructor_invocation.uast similarity index 100% rename from tests/super_constructor_invocation.uast rename to fixtures/super_constructor_invocation.uast diff --git a/tests/super_field_access.native b/fixtures/super_field_access.native similarity index 100% rename from tests/super_field_access.native rename to fixtures/super_field_access.native diff --git a/tests/super_field_access.source b/fixtures/super_field_access.source similarity index 100% rename from tests/super_field_access.source rename to fixtures/super_field_access.source diff --git a/tests/super_field_access.uast b/fixtures/super_field_access.uast similarity index 100% rename from tests/super_field_access.uast rename to fixtures/super_field_access.uast diff --git a/tests/super_method_invocation.native b/fixtures/super_method_invocation.native similarity index 100% rename from tests/super_method_invocation.native rename to fixtures/super_method_invocation.native diff --git a/tests/super_method_invocation.source b/fixtures/super_method_invocation.source similarity index 100% rename from tests/super_method_invocation.source rename to fixtures/super_method_invocation.source diff --git a/tests/super_method_invocation.uast b/fixtures/super_method_invocation.uast similarity index 100% rename from tests/super_method_invocation.uast rename to fixtures/super_method_invocation.uast diff --git a/tests/super_method_reference.native b/fixtures/super_method_reference.native similarity index 100% rename from tests/super_method_reference.native rename to fixtures/super_method_reference.native diff --git a/tests/super_method_reference.source b/fixtures/super_method_reference.source similarity index 100% rename from tests/super_method_reference.source rename to fixtures/super_method_reference.source diff --git a/tests/super_method_reference.uast b/fixtures/super_method_reference.uast similarity index 100% rename from tests/super_method_reference.uast rename to fixtures/super_method_reference.uast diff --git a/tests/switch.native b/fixtures/switch.native similarity index 100% rename from tests/switch.native rename to fixtures/switch.native diff --git a/tests/switch.source b/fixtures/switch.source similarity index 100% rename from tests/switch.source rename to fixtures/switch.source diff --git a/tests/switch.uast b/fixtures/switch.uast similarity index 100% rename from tests/switch.uast rename to fixtures/switch.uast diff --git a/tests/synchronized_statement.native b/fixtures/synchronized_statement.native similarity index 100% rename from tests/synchronized_statement.native rename to fixtures/synchronized_statement.native diff --git a/tests/synchronized_statement.source b/fixtures/synchronized_statement.source similarity index 100% rename from tests/synchronized_statement.source rename to fixtures/synchronized_statement.source diff --git a/tests/synchronized_statement.uast b/fixtures/synchronized_statement.uast similarity index 100% rename from tests/synchronized_statement.uast rename to fixtures/synchronized_statement.uast diff --git a/tests/throw.native b/fixtures/throw.native similarity index 100% rename from tests/throw.native rename to fixtures/throw.native diff --git a/tests/throw.source b/fixtures/throw.source similarity index 100% rename from tests/throw.source rename to fixtures/throw.source diff --git a/tests/throw.uast b/fixtures/throw.uast similarity index 100% rename from tests/throw.uast rename to fixtures/throw.uast diff --git a/tests/try_catch.native b/fixtures/try_catch.native similarity index 100% rename from tests/try_catch.native rename to fixtures/try_catch.native diff --git a/tests/try_catch.source b/fixtures/try_catch.source similarity index 100% rename from tests/try_catch.source rename to fixtures/try_catch.source diff --git a/tests/try_catch.uast b/fixtures/try_catch.uast similarity index 100% rename from tests/try_catch.uast rename to fixtures/try_catch.uast diff --git a/tests/try_finally.native b/fixtures/try_finally.native similarity index 100% rename from tests/try_finally.native rename to fixtures/try_finally.native diff --git a/tests/try_finally.source b/fixtures/try_finally.source similarity index 100% rename from tests/try_finally.source rename to fixtures/try_finally.source diff --git a/tests/try_finally.uast b/fixtures/try_finally.uast similarity index 100% rename from tests/try_finally.uast rename to fixtures/try_finally.uast diff --git a/tests/type_declaration_statement.native b/fixtures/type_declaration_statement.native similarity index 100% rename from tests/type_declaration_statement.native rename to fixtures/type_declaration_statement.native diff --git a/tests/type_declaration_statement.source b/fixtures/type_declaration_statement.source similarity index 100% rename from tests/type_declaration_statement.source rename to fixtures/type_declaration_statement.source diff --git a/tests/type_declaration_statement.uast b/fixtures/type_declaration_statement.uast similarity index 100% rename from tests/type_declaration_statement.uast rename to fixtures/type_declaration_statement.uast diff --git a/tests/type_literal.native b/fixtures/type_literal.native similarity index 100% rename from tests/type_literal.native rename to fixtures/type_literal.native diff --git a/tests/type_literal.source b/fixtures/type_literal.source similarity index 100% rename from tests/type_literal.source rename to fixtures/type_literal.source diff --git a/tests/type_literal.uast b/fixtures/type_literal.uast similarity index 100% rename from tests/type_literal.uast rename to fixtures/type_literal.uast diff --git a/tests/type_method_reference.native b/fixtures/type_method_reference.native similarity index 100% rename from tests/type_method_reference.native rename to fixtures/type_method_reference.native diff --git a/tests/type_method_reference.source b/fixtures/type_method_reference.source similarity index 100% rename from tests/type_method_reference.source rename to fixtures/type_method_reference.source diff --git a/tests/type_method_reference.uast b/fixtures/type_method_reference.uast similarity index 100% rename from tests/type_method_reference.uast rename to fixtures/type_method_reference.uast diff --git a/tests/union_type.native b/fixtures/union_type.native similarity index 100% rename from tests/union_type.native rename to fixtures/union_type.native diff --git a/tests/union_type.source b/fixtures/union_type.source similarity index 100% rename from tests/union_type.source rename to fixtures/union_type.source diff --git a/tests/union_type.uast b/fixtures/union_type.uast similarity index 100% rename from tests/union_type.uast rename to fixtures/union_type.uast diff --git a/tests/variable_declarations.native b/fixtures/variable_declarations.native similarity index 100% rename from tests/variable_declarations.native rename to fixtures/variable_declarations.native diff --git a/tests/variable_declarations.source b/fixtures/variable_declarations.source similarity index 100% rename from tests/variable_declarations.source rename to fixtures/variable_declarations.source diff --git a/tests/variable_declarations.uast b/fixtures/variable_declarations.uast similarity index 100% rename from tests/variable_declarations.uast rename to fixtures/variable_declarations.uast diff --git a/tests/while.native b/fixtures/while.native similarity index 100% rename from tests/while.native rename to fixtures/while.native diff --git a/tests/while.source b/fixtures/while.source similarity index 100% rename from tests/while.source rename to fixtures/while.source diff --git a/tests/while.uast b/fixtures/while.uast similarity index 100% rename from tests/while.uast rename to fixtures/while.uast diff --git a/tests/wildcard_type.native b/fixtures/wildcard_type.native similarity index 100% rename from tests/wildcard_type.native rename to fixtures/wildcard_type.native diff --git a/tests/wildcard_type.source b/fixtures/wildcard_type.source similarity index 100% rename from tests/wildcard_type.source rename to fixtures/wildcard_type.source diff --git a/tests/wildcard_type.uast b/fixtures/wildcard_type.uast similarity index 100% rename from tests/wildcard_type.uast rename to fixtures/wildcard_type.uast