static

in gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/BytecodeHelper.java [190:342]


    static {
        final Map<String, List<Class<? extends Step>>> operationStepMap = new HashMap<String, List<Class<? extends Step>>>() {{
            put(GraphTraversal.Symbols.map, Arrays.asList(LambdaMapStep.class, TraversalMapStep.class));
            put(GraphTraversal.Symbols.flatMap, Arrays.asList(LambdaFlatMapStep.class, TraversalFlatMapStep.class));
            put(GraphTraversal.Symbols.id, Collections.singletonList(IdStep.class));
            put(GraphTraversal.Symbols.label, Collections.singletonList(LabelStep.class));
            put(GraphTraversal.Symbols.identity, Collections.singletonList(IdentityStep.class));
            put(GraphTraversal.Symbols.constant, Collections.singletonList(ConstantStep.class));
            put(GraphTraversal.Symbols.V, Collections.singletonList(GraphStep.class));
            put(GraphTraversal.Symbols.E, Collections.singletonList(GraphStep.class));
            put(GraphTraversal.Symbols.to, Collections.emptyList());
            put(GraphTraversal.Symbols.out, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.in, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.both, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.toE, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.outE, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.inE, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.bothE, Collections.singletonList(VertexStep.class));
            put(GraphTraversal.Symbols.toV, Collections.singletonList(EdgeVertexStep.class));
            put(GraphTraversal.Symbols.outV, Collections.singletonList(EdgeVertexStep.class));
            put(GraphTraversal.Symbols.inV, Collections.singletonList(EdgeVertexStep.class));
            put(GraphTraversal.Symbols.bothV, Collections.singletonList(EdgeVertexStep.class));
            put(GraphTraversal.Symbols.otherV, Collections.singletonList(EdgeVertexStep.class));
            put(GraphTraversal.Symbols.order, Arrays.asList(OrderGlobalStep.class, OrderLocalStep.class));
            put(GraphTraversal.Symbols.properties, Collections.singletonList(PropertiesStep.class));
            put(GraphTraversal.Symbols.values, Collections.singletonList(PropertiesStep.class));
            put(GraphTraversal.Symbols.propertyMap, Collections.singletonList(PropertyMapStep.class));
            put(GraphTraversal.Symbols.valueMap, Collections.singletonList(PropertyMapStep.class));
            put(GraphTraversal.Symbols.elementMap, Collections.singletonList(ElementMapStep.class));
            put(GraphTraversal.Symbols.select, Arrays.asList(SelectStep.class, SelectOneStep.class,
                    TraversalSelectStep.class, TraversalMapStep.class));
            put(GraphTraversal.Symbols.key, Collections.singletonList(PropertyKeyStep.class));
            put(GraphTraversal.Symbols.value, Collections.singletonList(PropertyValueStep.class));
            put(GraphTraversal.Symbols.path, Collections.singletonList(PathStep.class));
            put(GraphTraversal.Symbols.match, Collections.singletonList(MatchStep.class));
            put(GraphTraversal.Symbols.math, Collections.singletonList(MathStep.class));
            put(GraphTraversal.Symbols.sack, Arrays.asList(SackStep.class, SackValueStep.class));
            put(GraphTraversal.Symbols.loops, Collections.singletonList(LoopsStep.class));
            put(GraphTraversal.Symbols.project, Collections.singletonList(ProjectStep.class));
            put(GraphTraversal.Symbols.unfold, Collections.singletonList(UnfoldStep.class));
            put(GraphTraversal.Symbols.fold, Collections.singletonList(FoldStep.class));
            put(GraphTraversal.Symbols.count, Arrays.asList(CountGlobalStep.class, CountLocalStep.class));
            put(GraphTraversal.Symbols.sum, Arrays.asList(SumGlobalStep.class, SumLocalStep.class));
            put(GraphTraversal.Symbols.max, Arrays.asList(MaxGlobalStep.class, MaxLocalStep.class));
            put(GraphTraversal.Symbols.min, Arrays.asList(MinGlobalStep.class, MinGlobalStep.class));
            put(GraphTraversal.Symbols.mean, Arrays.asList(MeanGlobalStep.class, MeanLocalStep.class));
            put(GraphTraversal.Symbols.concat, Collections.singletonList(ConcatStep.class));
            put(GraphTraversal.Symbols.format, Collections.singletonList(FormatStep.class));
            put(GraphTraversal.Symbols.asString, Arrays.asList(AsStringGlobalStep.class, AsStringLocalStep.class));
            put(GraphTraversal.Symbols.length, Arrays.asList(LengthGlobalStep.class, LengthLocalStep.class));
            put(GraphTraversal.Symbols.toLower, Arrays.asList(ToLowerGlobalStep.class, ToLowerLocalStep.class));
            put(GraphTraversal.Symbols.toUpper, Arrays.asList(ToUpperGlobalStep.class, ToUpperLocalStep.class));
            put(GraphTraversal.Symbols.trim, Arrays.asList(TrimGlobalStep.class, TrimLocalStep.class));
            put(GraphTraversal.Symbols.lTrim, Arrays.asList(LTrimGlobalStep.class, LTrimLocalStep.class));
            put(GraphTraversal.Symbols.rTrim, Arrays.asList(RTrimGlobalStep.class, RTrimLocalStep.class));
            put(GraphTraversal.Symbols.reverse, Collections.singletonList(ReverseStep.class));
            put(GraphTraversal.Symbols.replace, Arrays.asList(ReplaceGlobalStep.class, ReplaceLocalStep.class));
            put(GraphTraversal.Symbols.substring, Arrays.asList(SubstringGlobalStep.class, ReplaceLocalStep.class));
            put(GraphTraversal.Symbols.split, Arrays.asList(SplitGlobalStep.class, SplitLocalStep.class));
            put(GraphTraversal.Symbols.asBool, Collections.singletonList(AsBoolStep.class));
            put(GraphTraversal.Symbols.asDate, Collections.singletonList(AsDateStep.class));
            put(GraphTraversal.Symbols.dateAdd, Collections.singletonList(DateAddStep.class));
            put(GraphTraversal.Symbols.dateDiff, Collections.singletonList(DateDiffStep.class));
            put(GraphTraversal.Symbols.asNumber, Collections.singletonList(AsNumberStep.class));
            put(GraphTraversal.Symbols.all, Collections.singletonList(AllStep.class));
            put(GraphTraversal.Symbols.any, Collections.singletonList(AnyStep.class));
            put(GraphTraversal.Symbols.none, Collections.singletonList(NoneStep.class));
            put(GraphTraversal.Symbols.combine, Collections.singletonList(CombineStep.class));
            put(GraphTraversal.Symbols.difference, Collections.singletonList(DifferenceStep.class));
            put(GraphTraversal.Symbols.disjunct, Collections.singletonList(DisjunctStep.class));
            put(GraphTraversal.Symbols.merge, Collections.singletonList(MergeStep.class));
            put(GraphTraversal.Symbols.conjoin, Collections.singletonList(ConjoinStep.class));
            put(GraphTraversal.Symbols.product, Collections.singletonList(ProductStep.class));
            put(GraphTraversal.Symbols.intersect, Collections.singletonList(IntersectStep.class));
            put(GraphTraversal.Symbols.group, Arrays.asList(GroupStep.class, GroupSideEffectStep.class));
            put(GraphTraversal.Symbols.groupCount, Arrays.asList(GroupCountStep.class, GroupCountSideEffectStep.class));
            put(GraphTraversal.Symbols.tree, Arrays.asList(TreeStep.class, TreeSideEffectStep.class));
            put(GraphTraversal.Symbols.addV, Collections.singletonList(AddVertexStep.class));
            put(GraphTraversal.Symbols.addE, Collections.singletonList(AddEdgeStep.class));
            put(GraphTraversal.Symbols.mergeV, Collections.singletonList(MergeVertexStep.class));
            put(GraphTraversal.Symbols.mergeE, Collections.singletonList(MergeEdgeStep.class));
            put(GraphTraversal.Symbols.from, Collections.emptyList());
            put(GraphTraversal.Symbols.filter, Arrays.asList(LambdaFilterStep.class, TraversalFilterStep.class));
            put(GraphTraversal.Symbols.or, Collections.singletonList(OrStep.class));
            put(GraphTraversal.Symbols.and, Collections.singletonList(AndStep.class));
            put(GraphTraversal.Symbols.inject, Collections.singletonList(InjectStep.class));
            put(GraphTraversal.Symbols.dedup, Arrays.asList(DedupGlobalStep.class, DedupLocalStep.class));
            put(GraphTraversal.Symbols.where, Arrays.asList(WherePredicateStep.class, WhereTraversalStep.class,
                    TraversalFilterStep.class));
            put(GraphTraversal.Symbols.has, Collections.singletonList(HasStep.class));
            put(GraphTraversal.Symbols.hasNot, Collections.singletonList(NotStep.class));
            put(GraphTraversal.Symbols.hasLabel, Collections.singletonList(HasStep.class));
            put(GraphTraversal.Symbols.hasId, Collections.singletonList(HasStep.class));
            put(GraphTraversal.Symbols.hasKey, Collections.singletonList(HasStep.class));
            put(GraphTraversal.Symbols.hasValue, Collections.singletonList(HasStep.class));
            put(GraphTraversal.Symbols.is, Collections.singletonList(IsStep.class));
            put(GraphTraversal.Symbols.not, Collections.singletonList(NotStep.class));
            put(GraphTraversal.Symbols.range, Arrays.asList(RangeGlobalStep.class, RangeLocalStep.class));
            put(GraphTraversal.Symbols.limit, Arrays.asList(RangeGlobalStep.class, RangeLocalStep.class));
            put(GraphTraversal.Symbols.skip, Arrays.asList(RangeGlobalStep.class, RangeLocalStep.class));
            put(GraphTraversal.Symbols.tail, Arrays.asList(TailGlobalStep.class, TailLocalStep.class));
            put(GraphTraversal.Symbols.coin, Collections.singletonList(CoinStep.class));
            put(GraphTraversal.Symbols.io, Collections.singletonList(IoStep.class));
            put(GraphTraversal.Symbols.read, Collections.emptyList());
            put(GraphTraversal.Symbols.write, Collections.emptyList());
            put(GraphTraversal.Symbols.call, Collections.singletonList(CallStep.class));
            put(GraphTraversal.Symbols.element, Collections.singletonList(ElementStep.class));
            put(GraphTraversal.Symbols.timeLimit, Collections.singletonList(TimeLimitStep.class));
            put(GraphTraversal.Symbols.simplePath, Collections.singletonList(PathFilterStep.class));
            put(GraphTraversal.Symbols.cyclicPath, Collections.singletonList(PathFilterStep.class));
            put(GraphTraversal.Symbols.sample, Arrays.asList(SampleGlobalStep.class, SampleLocalStep.class));
            put(GraphTraversal.Symbols.drop, Collections.singletonList(DropStep.class));
            put(GraphTraversal.Symbols.sideEffect, Arrays.asList(LambdaSideEffectStep.class, TraversalSideEffectStep.class));
            put(GraphTraversal.Symbols.cap, Collections.singletonList(SideEffectCapStep.class));
            put(GraphTraversal.Symbols.property, Collections.singletonList(AddPropertyStep.class));
            put(GraphTraversal.Symbols.aggregate, Collections.singletonList(AggregateStep.class));
            put(GraphTraversal.Symbols.fail, Collections.singletonList(FailStep.class));
            put(GraphTraversal.Symbols.subgraph, Collections.singletonList(SubgraphStep.class));
            put(GraphTraversal.Symbols.barrier, Arrays.asList(NoOpBarrierStep.class, LambdaCollectingBarrierStep.class));
            put(GraphTraversal.Symbols.index, Collections.singletonList(IndexStep.class));
            put(GraphTraversal.Symbols.local, Collections.singletonList(LocalStep.class));
            put(GraphTraversal.Symbols.emit, Collections.emptyList());
            put(GraphTraversal.Symbols.repeat, Collections.singletonList(RepeatStep.class));
            put(GraphTraversal.Symbols.until, Collections.emptyList());
            put(GraphTraversal.Symbols.branch, Collections.singletonList(BranchStep.class));
            put(GraphTraversal.Symbols.union, Collections.singletonList(UnionStep.class));
            put(GraphTraversal.Symbols.coalesce, Collections.singletonList(CoalesceStep.class));
            put(GraphTraversal.Symbols.choose, Collections.singletonList(ChooseStep.class));
            put(GraphTraversal.Symbols.optional, Collections.singletonList(OptionalStep.class));
            put(GraphTraversal.Symbols.pageRank, Collections.singletonList(PageRankVertexProgramStep.class));
            put(GraphTraversal.Symbols.peerPressure, Collections.singletonList(PeerPressureVertexProgramStep.class));
            put(GraphTraversal.Symbols.connectedComponent, Collections.singletonList(ConnectedComponentVertexProgramStep.class));
            put(GraphTraversal.Symbols.shortestPath, Collections.singletonList(ShortestPathVertexProgramStep.class));
            put(GraphTraversal.Symbols.program, Collections.singletonList(ProgramVertexProgramStep.class));
            put(GraphTraversal.Symbols.by, Collections.emptyList());
            put(GraphTraversal.Symbols.with, Collections.emptyList());
            put(GraphTraversal.Symbols.times, Collections.emptyList());
            put(GraphTraversal.Symbols.as, Collections.emptyList());
            put(GraphTraversal.Symbols.option, Collections.emptyList());
            put(Traversal.Symbols.profile, Collections.singletonList(ProfileStep.class));
            put(Traversal.Symbols.discard, Collections.singletonList(DiscardStep.class));
            put(TraversalSource.Symbols.withSack, Collections.emptyList());
            put(TraversalSource.Symbols.withoutStrategies, Collections.emptyList());
            put(TraversalSource.Symbols.withStrategies, Collections.emptyList());
            put(TraversalSource.Symbols.withSideEffect, Collections.emptyList());
            put(TraversalSource.Symbols.withRemote, Collections.emptyList());
            put(TraversalSource.Symbols.withComputer, Collections.emptyList());
            put(GraphTraversalSource.Symbols.withBulk, Collections.emptyList());
            put(GraphTraversalSource.Symbols.withPath, Collections.emptyList());
            put(GraphTraversalSource.Symbols.tx, Collections.emptyList());
        }};
        byteCodeSymbolStepMap = Collections.unmodifiableMap(operationStepMap);
    }