Skip to content

Commit

Permalink
Showing 1 changed file with 8 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -38,57 +38,57 @@ public AppendOneNode(RubyContext context, SourceSection sourceSection) {
// TODO CS 12-May-15 differentiate between null and empty but possibly having enough space

@Specialization(guards = "isEmptyArray(array)")
public DynamicObject appendOneEmpty(DynamicObject array, int value) {
public DynamicObject appendOneEmptyInt(DynamicObject array, int value) {
Layouts.ARRAY.setStore(array, new int[]{value});
Layouts.ARRAY.setSize(array, 1);
return array;
}

@Specialization(guards = "isEmptyArray(array)")
public DynamicObject appendOneEmpty(DynamicObject array, long value) {
public DynamicObject appendOneEmptyLong(DynamicObject array, long value) {
Layouts.ARRAY.setStore(array, new long[]{value});
Layouts.ARRAY.setSize(array, 1);
return array;
}

@Specialization(guards = "isEmptyArray(array)")
public DynamicObject appendOneEmpty(DynamicObject array, double value) {
public DynamicObject appendOneEmptyDouble(DynamicObject array, double value) {
Layouts.ARRAY.setStore(array, new double[]{value});
Layouts.ARRAY.setSize(array, 1);
return array;
}

@Specialization(guards = "isEmptyArray(array)")
public DynamicObject appendOneEmpty(DynamicObject array, Object value) {
public DynamicObject appendOneEmptyObject(DynamicObject array, Object value) {
Layouts.ARRAY.setStore(array, new Object[]{value});
Layouts.ARRAY.setSize(array, 1);
return array;
}

// Append of the correct type

@Specialization(guards = "isIntArray(array)")
@Specialization(guards = "isIntArray(array)", contains = "appendOneEmptyInt")
public DynamicObject appendOneSameType(DynamicObject array, int value,
@Cached("createBinaryProfile()") ConditionProfile extendProfile) {
appendOneSameTypeGeneric(array, ArrayReflector.reflect((int[]) Layouts.ARRAY.getStore(array)), value, extendProfile);
return array;
}

@Specialization(guards = "isLongArray(array)")
@Specialization(guards = "isLongArray(array)", contains = "appendOneEmptyLong")
public DynamicObject appendOneSameType(DynamicObject array, long value,
@Cached("createBinaryProfile()") ConditionProfile extendProfile) {
appendOneSameTypeGeneric(array, ArrayReflector.reflect((long[]) Layouts.ARRAY.getStore(array)), value, extendProfile);
return array;
}

@Specialization(guards = "isDoubleArray(array)")
@Specialization(guards = "isDoubleArray(array)", contains = "appendOneEmptyDouble")
public DynamicObject appendOneSameType(DynamicObject array, double value,
@Cached("createBinaryProfile()") ConditionProfile extendProfile) {
appendOneSameTypeGeneric(array, ArrayReflector.reflect((double[]) Layouts.ARRAY.getStore(array)), value, extendProfile);
return array;
}

@Specialization(guards = "isObjectArray(array)")
@Specialization(guards = "isObjectArray(array)", contains = "appendOneEmptyObject")
public DynamicObject appendOneSameType(DynamicObject array, Object value,
@Cached("createBinaryProfile()") ConditionProfile extendProfile) {
appendOneSameTypeGeneric(array, ArrayReflector.reflect((Object[]) Layouts.ARRAY.getStore(array)), value, extendProfile);

1 comment on commit 93220eb

@chrisseaton
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reverted this in 8183e2f, as nothing runs with it.

Sorry, something went wrong.

Please sign in to comment.