[Java] Class SecureASTCustomizer.SecuringCodeVisitor
- org.codehaus.groovy.control.customizers.SecureASTCustomizer.SecuringCodeVisitor
- All Implemented Interfaces and Traits:
- GroovyCodeVisitor
protected class SecureASTCustomizer.SecuringCodeVisitor
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.
Methods Summary
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Method Detail
protected void assertExpressionAuthorized(Expression expression)
Checks that a given expression is either in the allowed list or not in the disallowed list.
- throws:
- SecurityException if usage of this expression class is forbidden
- Parameters:
-
expression
- the expression to be checked
protected void assertStatementAuthorized(Statement statement)
Checks that a given statement is either in the allowed list or not in the disallowed list.
- throws:
- SecurityException if usage of this statement class is forbidden
- Parameters:
-
statement
- the statement to be checked
protected void assertTokenAuthorized(Token token)
Checks that a given token is either in the allowed list or not in the disallowed list.
- throws:
- SecurityException if usage of this token is forbidden
- Parameters:
-
token
- the token to be checked
protected ClassNode getExpressionType(ClassNode objectExpressionType)
@Override public void visitArgumentlistExpression(ArgumentListExpression expression)
@Override public void visitArrayExpression(ArrayExpression expression)
@Override public void visitAssertStatement(AssertStatement statement)
@Override public void visitAttributeExpression(AttributeExpression expression)
@Override public void visitBinaryExpression(BinaryExpression expression)
@Override public void visitBitwiseNegationExpression(BitwiseNegationExpression expression)
@Override public void visitBlockStatement(BlockStatement block)
@Override public void visitBooleanExpression(BooleanExpression expression)
@Override public void visitBreakStatement(BreakStatement statement)
@Override public void visitBytecodeExpression(BytecodeExpression expression)
@Override public void visitCaseStatement(CaseStatement statement)
@Override public void visitCastExpression(CastExpression expression)
@Override public void visitCatchStatement(CatchStatement statement)
@Override public void visitClassExpression(ClassExpression expression)
@Override public void visitClosureExpression(ClosureExpression expression)
@Override public void visitClosureListExpression(ClosureListExpression closureListExpression)
@Override public void visitConstantExpression(ConstantExpression expression)
@Override public void visitConstructorCallExpression(ConstructorCallExpression call)
@Override public void visitContinueStatement(ContinueStatement statement)
@Override public void visitDeclarationExpression(DeclarationExpression expression)
@Override public void visitDoWhileLoop(DoWhileStatement loop)
@Override public void visitEmptyStatement(EmptyStatement statement)
@Override public void visitExpressionStatement(ExpressionStatement statement)
@Override public void visitFieldExpression(FieldExpression expression)
@Override public void visitForLoop(ForStatement forLoop)
@Override public void visitGStringExpression(GStringExpression expression)
@Override public void visitIfElse(IfStatement ifElse)
@Override public void visitLambdaExpression(LambdaExpression expression)
@Override public void visitListExpression(ListExpression expression)
@Override public void visitMapEntryExpression(MapEntryExpression expression)
@Override public void visitMapExpression(MapExpression expression)
@Override public void visitMethodCallExpression(MethodCallExpression call)
@Override public void visitMethodPointerExpression(MethodPointerExpression expression)
@Override public void visitMethodReferenceExpression(MethodReferenceExpression expression)
@Override public void visitNotExpression(NotExpression expression)
@Override public void visitPostfixExpression(PostfixExpression expression)
@Override public void visitPrefixExpression(PrefixExpression expression)
@Override public void visitPropertyExpression(PropertyExpression expression)
@Override public void visitRangeExpression(RangeExpression expression)
@Override public void visitReturnStatement(ReturnStatement statement)
@Override public void visitShortTernaryExpression(ElvisOperatorExpression expression)
@Override public void visitSpreadExpression(SpreadExpression expression)
@Override public void visitSpreadMapExpression(SpreadMapExpression expression)
@Override public void visitStaticMethodCallExpression(StaticMethodCallExpression call)
@Override public void visitSwitch(SwitchStatement statement)
@Override public void visitSynchronizedStatement(SynchronizedStatement statement)
@Override public void visitTernaryExpression(TernaryExpression expression)
@Override public void visitThrowStatement(ThrowStatement statement)
@Override public void visitTryCatchFinally(TryCatchStatement statement)
@Override public void visitTupleExpression(TupleExpression expression)
@Override public void visitUnaryMinusExpression(UnaryMinusExpression expression)
@Override public void visitUnaryPlusExpression(UnaryPlusExpression expression)
@Override public void visitVariableExpression(VariableExpression expression)
@Override public void visitWhileLoop(WhileStatement loop)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/control/customizers/SecureASTCustomizer.SecuringCodeVisitor.html