Package alt.jiapi.instrumentor

Examples of alt.jiapi.instrumentor.MethodCallInstrumentor


            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));

            grepReadAccess.setResolutions(getResolutions());

            ChainInstrumentor beforeRead = new HeadInstrumentor();
            ChainInstrumentor callFieldGet =
                new MethodCallInstrumentor(new FieldGetHook(this));

            InstrumentorChain getChain = new InstrumentorChain();
            getChain.add(getDispatcher);
            getChain.add(grepReadAccess);
            getChain.add(beforeRead);
View Full Code Here


//              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());
           
            ChainInstrumentor head = new HeadInstrumentor();
            ChainInstrumentor exitCall =
                new MethodCallInstrumentor(new MethodExitHook(this));
           
            InstrumentorChain exitChain = new InstrumentorChain();
            exitChain.add(exitDispatcher);
            exitChain.add(grepExit);
            exitChain.add(head);
View Full Code Here

            InstrumentorChain chain = new InstrumentorChain();
            ChainInstrumentor dispatcher = new MethodDispatcherInstrumentor();
            CatchInstrumentor selectCatchBlocks = new CatchInstrumentor();
            ChainInstrumentor selectHead = new HeadInstrumentor();
            ChainInstrumentor callMethod =
                new MethodCallInstrumentor(new CatchHook(this));

            selectCatchBlocks.setResolutions(getResolutions());

            chain.add(dispatcher);
            chain.add(selectCatchBlocks);
View Full Code Here

TOP

Related Classes of alt.jiapi.instrumentor.MethodCallInstrumentor

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.