/* * Copyright 2016 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.rf.ide.core.testdata.text.write.tables; import java.util.List; import org.rf.ide.core.testdata.model.AModelElement; import org.rf.ide.core.testdata.model.FilePosition; import org.rf.ide.core.testdata.model.table.IExecutableStepsHolder; import org.rf.ide.core.testdata.model.table.RobotExecutableRow; import org.rf.ide.core.testdata.text.read.recognizer.RobotToken; import org.rf.ide.core.testdata.text.read.recognizer.RobotTokenType; /** * @author wypych */ public class ForContinueStartWithCommentFixer implements IForceFixBeforeDumpTask { @Override public void fixBeforeDump(final AModelElement<? extends IExecutableStepsHolder<?>> currentElement, final List<RobotToken> tokens) { if (currentElement instanceof RobotExecutableRow<?> && !tokens.isEmpty()) { final RobotToken firstToken = tokens.get(0); if (currentElement.getDeclaration() != firstToken && firstToken.getTypes().contains(RobotTokenType.START_HASH_COMMENT)) { tokens.clear(); final List<RobotToken> tokensInOrderFromModel = currentElement.getElementTokens(); int size = tokensInOrderFromModel.size(); for (int tokenId = 0; tokenId < size; tokenId++) { RobotToken rt = tokensInOrderFromModel.get(tokenId); rt.setStartOffset(FilePosition.NOT_SET); rt.setLineNumber(FilePosition.NOT_SET); rt.setStartColumn(FilePosition.NOT_SET); } tokens.addAll(tokensInOrderFromModel); } } } }