Package joust.utils.data

Examples of joust.utils.data.SymbolSet


        log.trace("Entering special assignment effects routine for {}", that);
        // TODO: This routine is almost comically inefficient.
        // Construct an EffectSet for "Writes everything read by the lhs".
        EffectSet lhsEffects = that.lhs.effects.getEffectSet();

        SymbolSet readEscaping = lhsEffects.readEscaping == SymbolSet.UNIVERSAL_SET ? SymbolSet.UNIVERSAL_SET : new SymbolSet(lhsEffects.readEscaping);
        SymbolSet readInternal = lhsEffects.readInternal == SymbolSet.UNIVERSAL_SET ? SymbolSet.UNIVERSAL_SET : new SymbolSet(lhsEffects.readInternal);

        EffectSet newEffects = new EffectSet((readEscaping.isEmpty() ? 0 : EffectType.WRITE_ESCAPING.maskValue)
                                           | (readInternal.isEmpty() ? 0 : EffectType.WRITE_INTERNAL.maskValue));

        newEffects.writeEscaping = readEscaping;
        newEffects.writeInternal = readInternal;

        that.effects = Effects.unionWithDirect(newEffects, that.rhs.effects);
View Full Code Here


        log.trace("Entering special assignment effects routine for {}", that);
        // TODO: This routine is almost comically inefficient.
        // Similar to assign, but we also immediately *read* everything, too.
        EffectSet lhsEffects = that.lhs.effects.getEffectSet();

        SymbolSet readEscaping = lhsEffects.readEscaping == SymbolSet.UNIVERSAL_SET ? SymbolSet.UNIVERSAL_SET : new SymbolSet(lhsEffects.readEscaping);
        SymbolSet writeEscaping = lhsEffects.readEscaping == SymbolSet.UNIVERSAL_SET ? SymbolSet.UNIVERSAL_SET : new SymbolSet(lhsEffects.readEscaping);
        SymbolSet readInternal = lhsEffects.readInternal == SymbolSet.UNIVERSAL_SET ? SymbolSet.UNIVERSAL_SET : new SymbolSet(lhsEffects.readInternal);
        SymbolSet writeInternal = lhsEffects.readInternal == SymbolSet.UNIVERSAL_SET ? SymbolSet.UNIVERSAL_SET : new SymbolSet(lhsEffects.readInternal);

        EffectSet newEffects = new EffectSet((readEscaping.isEmpty() ? 0 : EffectType.WRITE_ESCAPING.maskValue
                                                                         | EffectType.READ_ESCAPING.maskValue)
                                           | (readInternal.isEmpty() ? 0 : EffectType.WRITE_INTERNAL.maskValue
                                                                         | EffectType.READ_INTERNAL.maskValue));
View Full Code Here

@Log
@ExtensionMethod({Logger.class, LogUtils.LogExtensions.class})
@RunWith(JUnitParamsRunner.class)
public class InvariantExpressionFinderTest extends BaseAnalyserTest<InvariantExpressionFinder> {
    public InvariantExpressionFinderTest() {
        super(InvariantExpressionFinder.class, "invariantExpressions", new SymbolSet(), new SymbolSet());
    }
View Full Code Here

    public void testLVA(AJCMethodDecl inputTree, Object[] targetNodes, Object[] expectedLives) {
        SymbolSet[] symbolSets = new SymbolSet[expectedLives.length];

        for (int i = 0; i < expectedLives.length; i++) {
            Object[] symbols = (Object[]) expectedLives[i];
            SymbolSet expected = new SymbolSet();
            for (int b = 0; b < symbols.length; b++) {
                expected.add((VarSymbol) symbols[b]);
            }

            symbolSets[i] = expected;
        }
View Full Code Here

TOP

Related Classes of joust.utils.data.SymbolSet

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.