Project

General

Profile

Revision 10

Added by Willibald K. over 8 years ago

restrict list casts to something useful - i.e. inner type sizes must not change; this is in preparation for faster dynamic list support in momut; deep casts now need to be done manually by the user via fold operations or can be added again to the ooas compiler as a more expensive, special cast operator; also more cleaning of Qualitative Action System stuff

View differences:

JavaExpression.java
184 184
	@Override
185 185
	public void visit(TypeExpression typeExpression)
186 186
	{
187
		if (typeExpression.type().kind() != TypeKind.QrType &&
188
				typeExpression.type().kind() != TypeKind.EnumeratedType)
187
		if (typeExpression.type().kind() != TypeKind.EnumeratedType)
189 188
			m_emitter.Append(GetIdentifierString(typeExpression.type().identifier().tokenText()));
190 189
	}
191 190

  
......
316 315
	@Override
317 316
	public void visit(AccessExpression accessExpression)
318 317
	{
319
		if (accessExpression.left().type().kind() != TypeKind.QrType &&
320
				accessExpression.left().type().kind() != TypeKind.EnumeratedType)
318
		if (accessExpression.left().type().kind() != TypeKind.EnumeratedType)
321 319
		{
322 320
			// enums and qr types are directly (statically) converted to nums...
323 321
			VisitSub(accessExpression.left(), accessExpression);

Also available in: Unified diff