@Override public VarType getExprType() { VarType exprType = array.getExprType(); if (exprType.equals(VarType.VARTYPE_NULL)) { return hardType.copy(); } else { return exprType.decreaseArrayDim(); } }
List<Exprent> lstRet = new ArrayList<>(); VarType arrayType = newExpr.getNewType().decreaseArrayDim(); ConstExprent defaultVal = ExprProcessor.getDefaultArrayValue(arrayType); for (int j = 0; j < size; j++) {
@Override public CheckTypesResult checkExprTypeBounds() { CheckTypesResult result = new CheckTypesResult(); if (newType.arrayDim != 0) { for (Exprent dim : lstDims) { result.addMinTypeExprent(dim, VarType.VARTYPE_BYTECHAR); result.addMaxTypeExprent(dim, VarType.VARTYPE_INT); } if (newType.arrayDim == 1) { VarType leftType = newType.decreaseArrayDim(); for (Exprent element : lstArrayElements) { result.addMinTypeExprent(element, VarType.getMinTypeInFamily(leftType.typeFamily)); result.addMaxTypeExprent(element, leftType); } } } else if (constructor != null) { return constructor.checkExprTypeBounds(); } return result; }
if (init.type == Exprent.EXPRENT_CONST) { ConstExprent cinit = (ConstExprent)init; VarType arrType = newExpr.getNewType().decreaseArrayDim(); ConstExprent defaultVal = ExprProcessor.getDefaultArrayValue(arrType);
VarType leftType = newType.decreaseArrayDim(); buf.append('{'); for (int i = 0; i < lstArrayElements.size(); i++) { VarType leftType = newType.decreaseArrayDim(); for (int i = 0; i < lstArrayElements.size(); i++) { if (i > 0) { VarType leftType = newType.decreaseArrayDim(); buf.append('{'); for (int i = 0; i < lstArrayElements.size(); i++) {
isVarArg &= parameterType.arrayDim > 0; if (isVarArg) { parameterType = parameterType.decreaseArrayDim();
@Override public VarType getExprType() { VarType exprType = array.getExprType(); if (exprType.equals(VarType.VARTYPE_NULL)) { return hardType.copy(); } else { return exprType.decreaseArrayDim(); } }
VarType arrtype = newex.getNewType().decreaseArrayDim();
@Override public CheckTypesResult checkExprTypeBounds() { CheckTypesResult result = new CheckTypesResult(); if (newType.arrayDim != 0) { for (Exprent dim : lstDims) { result.addMinTypeExprent(dim, VarType.VARTYPE_BYTECHAR); result.addMaxTypeExprent(dim, VarType.VARTYPE_INT); } if (newType.arrayDim == 1) { VarType leftType = newType.decreaseArrayDim(); for (Exprent element : lstArrayElements) { result.addMinTypeExprent(element, VarType.getMinTypeInFamily(leftType.typeFamily)); result.addMaxTypeExprent(element, leftType); } } } else { if (constructor != null) { return constructor.checkExprTypeBounds(); } } return result; }
ConstExprent cinit = (ConstExprent)init; VarType arrtype = newex.getNewType().decreaseArrayDim();
VarType leftType = newType.decreaseArrayDim(); buf.append('{'); for (int i = 0; i < lstArrayElements.size(); i++) { VarType leftType = newType.decreaseArrayDim(); for (int i = 0; i < lstArrayElements.size(); i++) { if (i > 0) { VarType leftType = newType.decreaseArrayDim(); buf.append('{'); for (int i = 0; i < lstArrayElements.size(); i++) {
parameterType = parameterType.decreaseArrayDim();