List of usage examples for org.objectweb.asm Opcodes GETSTATIC
int GETSTATIC
To view the source code for org.objectweb.asm Opcodes GETSTATIC.
Click Source Link
From source file:org.pitest.mutationtest.engine.gregor.mutators.experimental.extended.UOIMutator4.java
License:Apache License
@Override public void visitFieldInsn(int opcode, String owner, String name, String desc) { // GETFIELD I,F,L,D + B,S if ((opcode == Opcodes.GETFIELD)) { if (desc.equals("I")) { if (this.shouldMutate("Decremented (--a) integer field")) { // stack = [this] mv.visitInsn(Opcodes.DUP); // stack = [this] [this] mv.visitFieldInsn(opcode, owner, name, desc); // stack = [this] [this.field] mv.visitInsn(Opcodes.ICONST_1); mv.visitInsn(Opcodes.ISUB); // stack = [this] [this.field -1] mv.visitInsn(Opcodes.DUP_X1); // stack = [this.field -1] [this] [this.field -1] mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc); return; }/* ww w. j av a 2s . com*/ } if (desc.equals("F")) { if (this.shouldMutate("Decremented (--a) float field")) { mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.FCONST_1); mv.visitInsn(Opcodes.FSUB); mv.visitInsn(Opcodes.DUP_X1); mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc); return; } } if (desc.equals("J")) { if (this.shouldMutate("Decremented (--a) long field")) { mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.LCONST_1); mv.visitInsn(Opcodes.LSUB); mv.visitInsn(Opcodes.DUP2_X1); mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc); return; } } if (desc.equals("D")) { if (this.shouldMutate("Decremented (--a) double field")) { mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.DCONST_1); mv.visitInsn(Opcodes.DSUB); mv.visitInsn(Opcodes.DUP2_X1); mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc); return; } } if (desc.equals("B")) { if (this.shouldMutate("Decremented (--a) double field")) { mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.ICONST_1); mv.visitInsn(Opcodes.ISUB); mv.visitInsn(Opcodes.I2B); mv.visitInsn(Opcodes.DUP_X1); mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc); return; } } if (desc.equals("S")) { if (this.shouldMutate("Decremented (--a) short field")) { mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.ICONST_1); mv.visitInsn(Opcodes.ISUB); mv.visitInsn(Opcodes.I2S); mv.visitInsn(Opcodes.DUP_X1); mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc); return; } } } // GETSTATIC I,F,L,D + B,S if (opcode == Opcodes.GETSTATIC) { if (desc.equals("I")) { if (this.shouldMutate("Decremented (--a) static integer field")) { mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.ICONST_1); mv.visitInsn(Opcodes.ISUB); mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(Opcodes.PUTSTATIC, owner, name, desc); return; } } if (desc.equals("F")) { if (this.shouldMutate("Decremented (--a) static float field")) { mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.FCONST_1); mv.visitInsn(Opcodes.FSUB); mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(Opcodes.PUTSTATIC, owner, name, desc); return; } } if (desc.equals("J")) { if (this.shouldMutate("Decremented (--a) static long field")) { mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.LCONST_1); mv.visitInsn(Opcodes.LSUB); mv.visitInsn(Opcodes.DUP2); mv.visitFieldInsn(Opcodes.PUTSTATIC, owner, name, desc); return; } } if (desc.equals("D")) { if (this.shouldMutate("Decremented (--a) static double field")) { mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.DCONST_1); mv.visitInsn(Opcodes.DSUB); mv.visitInsn(Opcodes.DUP2); mv.visitFieldInsn(Opcodes.PUTSTATIC, owner, name, desc); return; } } if (desc.equals("B")) { if (this.shouldMutate("Decremented (--a) static byte field")) { mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.ICONST_1); mv.visitInsn(Opcodes.ISUB); mv.visitInsn(Opcodes.I2B); mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(Opcodes.PUTSTATIC, owner, name, desc); return; } } if (desc.equals("S")) { if (this.shouldMutate("Decremented (--a) static short field")) { mv.visitFieldInsn(opcode, owner, name, desc); mv.visitInsn(Opcodes.ICONST_1); mv.visitInsn(Opcodes.ISUB); mv.visitInsn(Opcodes.I2S); mv.visitInsn(Opcodes.DUP); mv.visitFieldInsn(Opcodes.PUTSTATIC, owner, name, desc); return; } } } mv.visitFieldInsn(opcode, owner, name, desc); }
From source file:org.sonar.java.bytecode.se.BytecodeEGWalkerExecuteTest.java
License:Open Source License
@Test public void test_getstatic() throws Exception { ProgramState programState = execute( new Instruction(Opcodes.GETSTATIC, new Instruction.FieldOrMethod("", "", "D", false))); assertThat(programState.peekValue()).isNotNull(); assertThat(isDoubleOrLong(programState, programState.peekValue())).isTrue(); programState = execute(//w w w . jav a2 s . c om new Instruction(Opcodes.GETSTATIC, new Instruction.FieldOrMethod("", "", "I", false))); assertThat(programState.peekValue()).isNotNull(); assertThat(isDoubleOrLong(programState, programState.peekValue())).isFalse(); }
From source file:org.spongepowered.asm.mixin.injection.points.BeforeFieldAccess.java
License:MIT License
public BeforeFieldAccess(InjectionPointData data) { super(data);//from w w w . j av a2s . com this.opcode = data.getOpcode(-1, Opcodes.GETFIELD, Opcodes.PUTFIELD, Opcodes.GETSTATIC, Opcodes.PUTSTATIC, -1); }
From source file:org.spongepowered.despector.emitter.bytecode.instruction.BytecodeStaticFieldAccessEmitter.java
License:Open Source License
@Override public void emit(BytecodeEmitterContext ctx, StaticFieldAccess arg, TypeSignature type) { MethodVisitor mv = ctx.getMethodVisitor(); mv.visitFieldInsn(Opcodes.GETSTATIC, arg.getOwnerName(), arg.getFieldName(), arg.getTypeDescriptor().getDescriptor()); ctx.updateStack(1);/*from www .ja va 2 s .co m*/ }
From source file:org.spongepowered.mod.asm.transformers.EventTransformer.java
License:MIT License
protected static MethodNode createGetGameMethod() { MethodNode methodNode = new MethodNode(Opcodes.ASM4, Opcodes.ACC_PUBLIC, "getGame", "()Lorg/spongepowered/api/Game;", null, null); methodNode.instructions.add(new FieldInsnNode(Opcodes.GETSTATIC, "org/spongepowered/mod/SpongeMod", "instance", "Lorg/spongepowered/mod/SpongeMod;")); methodNode.instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "org/spongepowered/mod/SpongeMod", "getGame", "()Lorg/spongepowered/mod/SpongeGame;", false)); methodNode.instructions.add(new InsnNode(Opcodes.ARETURN)); methodNode.maxLocals = 1;//ww w. jav a 2 s.c o m methodNode.maxStack = 1; return methodNode; }
From source file:org.spongepowered.mod.asm.transformers.PriorityTransformer.java
License:MIT License
private MethodNode createGetGameMethod() { MethodNode methodNode = new MethodNode(Opcodes.ASM4, Opcodes.ACC_PUBLIC, "getGame", "()Lorg/spongepowered/api/Game;", null, null); methodNode.instructions.add(new FieldInsnNode(Opcodes.GETSTATIC, "org/spongepowered/mod/SpongeMod", "instance", "Lorg/spongepowered/mod/SpongeMod;")); methodNode.instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "org/spongepowered/mod/SpongeMod", "getGame", "()Lorg/spongepowered/mod/SpongeGame;", false)); methodNode.instructions.add(new InsnNode(Opcodes.ARETURN)); methodNode.maxLocals = 1;/*w w w. j av a 2 s . c o m*/ methodNode.maxStack = 1; return methodNode; }
From source file:org.springsource.loaded.test.infra.MethodPrinter.java
License:Apache License
public void visitFieldInsn(int opcode, String owner, String name, String desc) { if (opcode == Opcodes.GETSTATIC) { to.println(" GETSTATIC " + owner + "." + name + " " + desc); } else if (opcode == Opcodes.PUTSTATIC) { to.println(" PUTSTATIC " + owner + "." + name + " " + desc); } else if (opcode == Opcodes.GETFIELD) { to.println(" GETFIELD " + owner + "." + name + " " + desc); } else if (opcode == Opcodes.PUTFIELD) { to.println(" PUTFIELD " + owner + "." + name + " " + desc); } else {//from ww w. j a v a 2s .co m throw new IllegalStateException(":" + opcode); } }
From source file:org.teavm.flavour.regex.bytecode.MatcherClassBuilder.java
License:Apache License
private void generateLengthGuard(MethodVisitor mv) { mv.visitVarInsn(Opcodes.ILOAD, 3);//from w ww . j a va2 s .com mv.visitVarInsn(Opcodes.ILOAD, 2); mv.visitInsn(Opcodes.ISUB); mv.visitJumpInsn(Opcodes.IFLE, saveLabel); mv.visitVarInsn(Opcodes.ALOAD, 1); mv.visitVarInsn(Opcodes.ILOAD, 2); mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/String", "charAt", "(I)C", false); mv.visitVarInsn(Opcodes.ISTORE, 6); if (debugMode) { mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/System", "out", Type.getDescriptor(PrintStream.class)); mv.visitInsn(Opcodes.DUP); mv.visitLdcInsn("DFA <- "); mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "print", "(Ljava/lang/String;)V", false); mv.visitInsn(Opcodes.DUP); mv.visitVarInsn(Opcodes.ILOAD, 6); mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "print", "(C)V", false); mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "()V", false); } }
From source file:org.teavm.flavour.regex.bytecode.MatcherClassBuilder.java
License:Apache License
private void debug(MethodVisitor mv, String string) { if (!debugMode) { return;/*from w w w. ja v a 2 s. c o m*/ } mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/System", "out", Type.getDescriptor(PrintStream.class)); mv.visitLdcInsn(string); mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false); }
From source file:org.testeoa.estatica.AdapterDUG.java
License:Open Source License
@Override public void visitFieldInsn(int opcode, String owner, String name, String desc) { // insere a descrio da instruo String instrucao = getInstrucao(opcode); instrucao += " " + owner + "." + name + " " + desc; addInstrucao(instrucao);/*from ww w . ja v a2 s .c om*/ // Anlise do Fluxo de Dados String[] s = owner.split("/"); String o = s[s.length - 1]; if (opcode == Opcodes.PUTFIELD || opcode == Opcodes.PUTSTATIC) { verticeAtual.inserirDefinicao(o + "." + name); } if (opcode == Opcodes.GETFIELD || opcode == Opcodes.GETSTATIC) { verticeAtual.inserirUso(o + "." + name); } super.visitFieldInsn(opcode, owner, name, desc); }