Package alt.jiapi.instrumentor

Examples of alt.jiapi.instrumentor.MethodDispatcherInstrumentor


            return;
        }

        try {
//             InstrumentationContext ctx = new InstrumentationContext();
            ChainInstrumentor setDispatcher = new MethodDispatcherInstrumentor();

            GrepInstrumentor grepWriteAccess =
            // Following line fixes bug that we instrument
            // on field accesses that were synthesized by Jiapi itself.
                new GrepInstrumentor(new FieldAccessStrategy("*__jiapi_field*", true, FieldAccessStrategy.WRITE_ACCESS));

            grepWriteAccess.setResolutions(getResolutions());

            ChainInstrumentor afterSet = new TailInstrumentor();
            ChainInstrumentor callFieldSet =
                new MethodCallInstrumentor(new FieldSetHook(this));
           
            InstrumentorChain setChain = new InstrumentorChain();
            setChain.add(setDispatcher);
            setChain.add(grepWriteAccess);
            setChain.add(afterSet);
            setChain.add(callFieldSet);


            ChainInstrumentor getDispatcher = new MethodDispatcherInstrumentor();
            GrepInstrumentor grepReadAccess =
            // Following commented line fixes bug that we instrument
            // on field accesses that were synthesized by Jiapi itself.
                  new GrepInstrumentor(new FieldAccessStrategy("*__jiapi_field*", true, FieldAccessStrategy.READ_ACCESS));

View Full Code Here


        try {
//             InstrumentationContext ctx = new InstrumentationContext();

            // For method entry traps :
            ChainInstrumentor entryDispatcher = new MethodDispatcherInstrumentor();
            GrepInstrumentor grepEntry =
                new GrepInstrumentor(new MethodEntryStrategy());

//              Instrumentor head0 = new HeadInstrumentor(); // ---

            grepEntry.setResolutions(getResolutions());

            ChainInstrumentor entryCall
                = new MethodCallInstrumentor(new MethodEntryHook(this));

            InstrumentorChain entryChain = new InstrumentorChain();
            entryChain.add(entryDispatcher);
            entryChain.add(grepEntry);
//              entryChain.add(head0);                       // ---
            entryChain.add(entryCall);


            // For method exit traps :
            ChainInstrumentor exitDispatcher = new MethodDispatcherInstrumentor();
            GrepInstrumentor grepExit
                = new GrepInstrumentor(new MethodReturnStrategy());
           
            grepExit.setResolutions(getResolutions());
           
View Full Code Here

    public ExceptionEventProducer(InstrumentationDescriptor id, String resolution) {
        super(resolution);

        try {
            InstrumentorChain chain = new InstrumentorChain();
            ChainInstrumentor dispatcher = new MethodDispatcherInstrumentor();
            CatchInstrumentor selectCatchBlocks = new CatchInstrumentor();
            ChainInstrumentor selectHead = new HeadInstrumentor();
            ChainInstrumentor callMethod =
                new MethodCallInstrumentor(new CatchHook(this));
View Full Code Here

TOP

Related Classes of alt.jiapi.instrumentor.MethodDispatcherInstrumentor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.