All pastes #9059 Raw Edit

subanark

public java v1 · immutable
#9059 ·published 2005-04-07 23:21 UTC
rendered paste body
                                    //Puts a value into an array                                    case IASTORE:                                    case LASTORE:                                    case FASTORE:                                    case DASTORE:                                    case AASTORE:                                    case BASTORE:                                    case CASTORE:                                    case SASTORE:                                    {                                        int arrayFlagPtr = methodStacks[ip][methodStacks[ip].length-3];                                        Flags arrayFlags = types.get(arrayFlagPtr);                                        arrayFlags = arrayFlags.asNonConstant();                                        if(arrayFlags == null)                                        {                                            System.err.println("Error: array cannot be changed");                                            System.err.println(getCodeLocation(code,instructionHandle,method,clazz));                                            return false;                                        }                                        Flags typeFlags = types.get(methodStacks[ip][methodStacks[ip].length-1]);                                        typeFlags = typeFlags.as(arrayFlags.getInner());                                        if(typeFlags == null)                                        {                                            System.err.println("Error: value not compadible with array values");                                            System.err.println(getCodeLocation(code,instructionHandle,method,clazz));                                            return false;                                        }                                        //if(pass == 0)                                        popPushNextInstruction(ip, ip+1,instruction.consumeStack(constPool));                                        pendingInstructions.push(ip+1);                                        break;                                    }