Class SecureASTCustomizer.SecuringCodeVisitor
java.lang.Object
org.codehaus.groovy.control.customizers.SecureASTCustomizer.SecuringCodeVisitor
- All Implemented Interfaces:
GroovyCodeVisitor
- Enclosing class:
- SecureASTCustomizer
protected class SecureASTCustomizer.SecuringCodeVisitor extends java.lang.Object implements GroovyCodeVisitor
This visitor directly implements the
GroovyCodeVisitor interface instead of using the CodeVisitorSupport class to make sure that future features of the language gets managed by this visitor. Thus,
adding a new feature would result in a compilation error if this visitor is not updated.-
Constructor Summary
Constructors Modifier Constructor Description protectedSecuringCodeVisitor() -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visitEmptyExpression, visitListOfExpressions
-
Constructor Details
-
SecuringCodeVisitor
protected SecuringCodeVisitor()
-
-
Method Details
-
assertStatementAuthorized
Checks that a given statement is either in the allowed list or not in the disallowed list.- Parameters:
statement- the statement to be checked- Throws:
java.lang.SecurityException- if usage of this statement class is forbidden
-
assertExpressionAuthorized
protected void assertExpressionAuthorized(Expression expression) throws java.lang.SecurityExceptionChecks that a given expression is either in the allowed list or not in the disallowed list.- Parameters:
expression- the expression to be checked- Throws:
java.lang.SecurityException- if usage of this expression class is forbidden
-
getExpressionType
-
assertTokenAuthorized
Checks that a given token is either in the allowed list or not in the disallowed list.- Parameters:
token- the token to be checked- Throws:
java.lang.SecurityException- if usage of this token is forbidden
-
visitBlockStatement
- Specified by:
visitBlockStatementin interfaceGroovyCodeVisitor
-
visitForLoop
- Specified by:
visitForLoopin interfaceGroovyCodeVisitor
-
visitWhileLoop
- Specified by:
visitWhileLoopin interfaceGroovyCodeVisitor
-
visitDoWhileLoop
- Specified by:
visitDoWhileLoopin interfaceGroovyCodeVisitor
-
visitIfElse
- Specified by:
visitIfElsein interfaceGroovyCodeVisitor
-
visitExpressionStatement
- Specified by:
visitExpressionStatementin interfaceGroovyCodeVisitor
-
visitReturnStatement
- Specified by:
visitReturnStatementin interfaceGroovyCodeVisitor
-
visitAssertStatement
- Specified by:
visitAssertStatementin interfaceGroovyCodeVisitor
-
visitTryCatchFinally
- Specified by:
visitTryCatchFinallyin interfaceGroovyCodeVisitor
-
visitEmptyStatement
- Specified by:
visitEmptyStatementin interfaceGroovyCodeVisitor
-
visitSwitch
- Specified by:
visitSwitchin interfaceGroovyCodeVisitor
-
visitCaseStatement
- Specified by:
visitCaseStatementin interfaceGroovyCodeVisitor
-
visitBreakStatement
- Specified by:
visitBreakStatementin interfaceGroovyCodeVisitor
-
visitContinueStatement
- Specified by:
visitContinueStatementin interfaceGroovyCodeVisitor
-
visitThrowStatement
- Specified by:
visitThrowStatementin interfaceGroovyCodeVisitor
-
visitSynchronizedStatement
- Specified by:
visitSynchronizedStatementin interfaceGroovyCodeVisitor
-
visitCatchStatement
- Specified by:
visitCatchStatementin interfaceGroovyCodeVisitor
-
visitMethodCallExpression
- Specified by:
visitMethodCallExpressionin interfaceGroovyCodeVisitor
-
visitStaticMethodCallExpression
- Specified by:
visitStaticMethodCallExpressionin interfaceGroovyCodeVisitor
-
visitConstructorCallExpression
- Specified by:
visitConstructorCallExpressionin interfaceGroovyCodeVisitor
-
visitTernaryExpression
- Specified by:
visitTernaryExpressionin interfaceGroovyCodeVisitor
-
visitShortTernaryExpression
- Specified by:
visitShortTernaryExpressionin interfaceGroovyCodeVisitor
-
visitBinaryExpression
- Specified by:
visitBinaryExpressionin interfaceGroovyCodeVisitor
-
visitPrefixExpression
- Specified by:
visitPrefixExpressionin interfaceGroovyCodeVisitor
-
visitPostfixExpression
- Specified by:
visitPostfixExpressionin interfaceGroovyCodeVisitor
-
visitBooleanExpression
- Specified by:
visitBooleanExpressionin interfaceGroovyCodeVisitor
-
visitClosureExpression
- Specified by:
visitClosureExpressionin interfaceGroovyCodeVisitor
-
visitLambdaExpression
- Specified by:
visitLambdaExpressionin interfaceGroovyCodeVisitor
-
visitTupleExpression
- Specified by:
visitTupleExpressionin interfaceGroovyCodeVisitor
-
visitMapExpression
- Specified by:
visitMapExpressionin interfaceGroovyCodeVisitor
-
visitMapEntryExpression
- Specified by:
visitMapEntryExpressionin interfaceGroovyCodeVisitor
-
visitListExpression
- Specified by:
visitListExpressionin interfaceGroovyCodeVisitor
-
visitRangeExpression
- Specified by:
visitRangeExpressionin interfaceGroovyCodeVisitor
-
visitPropertyExpression
- Specified by:
visitPropertyExpressionin interfaceGroovyCodeVisitor
-
visitAttributeExpression
- Specified by:
visitAttributeExpressionin interfaceGroovyCodeVisitor
-
visitFieldExpression
- Specified by:
visitFieldExpressionin interfaceGroovyCodeVisitor
-
visitMethodPointerExpression
- Specified by:
visitMethodPointerExpressionin interfaceGroovyCodeVisitor
-
visitMethodReferenceExpression
- Specified by:
visitMethodReferenceExpressionin interfaceGroovyCodeVisitor
-
visitConstantExpression
- Specified by:
visitConstantExpressionin interfaceGroovyCodeVisitor
-
visitClassExpression
- Specified by:
visitClassExpressionin interfaceGroovyCodeVisitor
-
visitVariableExpression
- Specified by:
visitVariableExpressionin interfaceGroovyCodeVisitor
-
visitDeclarationExpression
- Specified by:
visitDeclarationExpressionin interfaceGroovyCodeVisitor
-
visitGStringExpression
- Specified by:
visitGStringExpressionin interfaceGroovyCodeVisitor
-
visitArrayExpression
- Specified by:
visitArrayExpressionin interfaceGroovyCodeVisitor
-
visitSpreadExpression
- Specified by:
visitSpreadExpressionin interfaceGroovyCodeVisitor
-
visitSpreadMapExpression
- Specified by:
visitSpreadMapExpressionin interfaceGroovyCodeVisitor
-
visitNotExpression
- Specified by:
visitNotExpressionin interfaceGroovyCodeVisitor
-
visitUnaryMinusExpression
- Specified by:
visitUnaryMinusExpressionin interfaceGroovyCodeVisitor
-
visitUnaryPlusExpression
- Specified by:
visitUnaryPlusExpressionin interfaceGroovyCodeVisitor
-
visitBitwiseNegationExpression
- Specified by:
visitBitwiseNegationExpressionin interfaceGroovyCodeVisitor
-
visitCastExpression
- Specified by:
visitCastExpressionin interfaceGroovyCodeVisitor
-
visitArgumentlistExpression
- Specified by:
visitArgumentlistExpressionin interfaceGroovyCodeVisitor
-
visitClosureListExpression
- Specified by:
visitClosureListExpressionin interfaceGroovyCodeVisitor
-
visitBytecodeExpression
- Specified by:
visitBytecodeExpressionin interfaceGroovyCodeVisitor
-